当前位置:  开发笔记 > 数据库 > 正文

在MongoDB中,如何使用$ set更新嵌套值/嵌入文档?

如何解决《在MongoDB中,如何使用$set更新嵌套值/嵌入文档?》经验,为你挑选了1个好方法。

在MongoDB中,您如何使用$set更新嵌套值?

例如,考虑具有以下文档的集合人员:

{
  _id: ObjectId("5a7e395e20a31e44e0e7e284"),
  name: "foo",
  address: { street: "123", town: "bar" }
}

如何更新street嵌入在外地address文件从"123""Main Street"



1> Niels van de..:

使用点符号:

db.people.update({ }, { $set: { "address.street": "Main Street" } })


即使地址不存在,这是否有效?我知道如果地址上不存在$ set将创建street但是如果祖先属性不存在则行为是什么?此外,您的链接需要登录.
@Tom,感谢关于链接的单挑,我已修复它.要回答您的问题:如果它们不存在,它将为您创建所需的祖先属性.
@Tom是的,它会的.它会将整个对象创建到您正在设置的字段.(迟到的回复,但希望这对其他绊倒这个问题的人有用)
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有