MongoDB: подпункт документа upsert

У меня есть документы, которые выглядят примерно так, с уникальным индексом наbars.name:

{ name: 'foo', bars: [ { name: 'qux', somefield: 1 } ] }

, Я хочу либо обновить поддокумент, где{ name: 'foo', 'bars.name': 'qux' } а также$set: { 'bars.$.somefield': 2 }или создайте новый поддокумент с{ name: 'qux', somefield: 2 } под{ name: 'foo' }.

Можно ли сделать это, используя один запрос с upsert, или мне придется выдать два отдельных?

Связанные с:'upsert' во встроенном документе (предлагает изменить схему, чтобы в качестве ключа использовался идентификатор поддокумента, но это сделано два года назад, и мне интересно, есть ли сейчас лучшие решения.)

Ответы на вопрос(3)

Ваш ответ на вопрос