为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB:upsert子文档

MongoDB:upsert子文档

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”(建议更改模式以将子文档标识符作为键,但这是两年前的事情,我想知道现在是否有更好的解决方案。)
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

如果您不介意稍微更改架构并具有如此结构:

{ "name": "foo", "bars": { "qux": { "somefield": 1 },
                           "xyz": { "somefield": 2 },
                  }}

您可以一次性执行操作。在嵌入式文档中重申“upsert”以确保完整性


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 1298 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信