如何在MongoDB中更新嵌套对象内部的属性值?
MongoDB更新嵌套文档字段的正确写法
你的代码报错是因为在JavaScript对象字面量中,直接用size.height作为键名不符合语法规范,JavaScript会把点解析为属性访问,导致语法错误。
以下是两种正确的写法:
方法一(推荐):将嵌套字段路径用引号包裹,仅更新指定字段,不影响其他嵌套属性
db.inv.updateOne({_id: 0}, { $set: {"size.height": 12} })方法二:使用嵌套对象形式,注意这种方式会覆盖整个
size对象,必须保留所有原有字段,否则未指定的字段会被删除db.inv.updateOne({_id: 0}, { $set: { size: { height: 12, width: 3, uom: 'm', quantity: 16 } } })
内容的提问来源于stack exchange,提问作者SaintDev
相关产品推荐
相关产品推荐

