MongoDB:upsert子文档
我有类似的文档,具有唯一索引bars.name
:
{ name: 'foo', bars: [ { name: 'qux', somefield: 1 } ] }
。我想更新子文档在哪里{ name: 'foo', 'bars.name': 'qux' }
和$set: { 'bars.$.somefield': 2 }
,或者用{ name: 'qux', somefield: 2 }
under 创建一个新的子文档{ name: 'foo' }
。
是否可以使用带有upsert的单个查询来执行此操作,还是必须发出两个单独的查询?
相关:嵌入式文档中的“upsert”(建议更改模式以将子文档标识符作为键,但这是两年前的事情,我想知道现在是否有更好的解决方案。)
子衿沉夜