【问题标题】:Update Subdocument in Mongodb that stores id(s)更新存储 id(s) 的 Mongodb 中的子文档
【发布时间】:2017-07-06 14:14:15
【问题描述】:

我正在开发一个应用程序,我们决定用 Mongodb 实现数据库,所以我对它真的很陌生。在数据库中,每个公司都有一个集合,我们需要将公司每个类别产品的 ID 存储在公司集合的子文档中,假设我们需要将以下 Object 插入到集合中:

{ 
  name : "comapnyX"
  address : {
     "street" : "main street",
     "ZipCode" : "12345" 
  },
  categories : [
     { "name" : "category1" },  
     { name" : "category2" } 
  ] 
}   

如果稍后我们决定更新类别,我们需要在此子文档中再添加一个类别,我必须如何创建该更新?

如果从 Mongodb 的数据建模的角度来看这不是一个好习惯,请告诉我

【问题讨论】:

  • 文档很好地解释了所有这些,包括关于建模的问题。什么没有意义?最终的具体“方式”将取决于您使用什么驱动程序从您的应用程序访问 MongoDB。

标签: mongodb nosql


【解决方案1】:

您可以使用带有 $push 运算符的 update 方法来添加新类别:

db.collection.update( <query>,
                      { $push: { categories: {name: "category3" } }
                   )

$push 上的 MongoDB 文档:http://docs.mongodb.org/manual/reference/operator/update/push/

【讨论】:

    猜你喜欢
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多