Мои документы структурированы следующим образом:
{_id: 1, country: 'USA', names: [{language: 'en', name: 'New York', state:'new'}, {language: 'es', name: 'Nueva York', state:'translated'}]}
{_id: 2, country: 'France', names: [{language: 'en', name: 'Paris', state:'new'}, {language: 'it', name: 'Parigi', state:'translated'}]}
...
Я хочу обновить состояние элемента для определенного языка и, если язык не существует, добавить соответствующий встроенный документ. Например, я хотел бы обновить элемент 1, чтобы установить state='new'
для language='es'
, потому что этот язык существует:
{_id: 1, country: 'USA', names: [{language: 'en', name: 'New York', state:'new'}, {language: 'es', name: 'Nueva York', state:'translated'}]}
И я хотел бы добавить внедренный документ к пункту 2 с state='new'
и language='fr'
, потому что он не существует:
{_id: 2, country: 'France', names: [{language: 'en', name: 'Paris', state:'new'}, {language: 'it', name: 'Parigi', state:'translated'}, {language: 'fr', name: 'Paris', state:'new'}]}
Как я могу это сделать?
Спасибо.