Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新Mongodb中存储id的子文档_Mongodb_Nosql - Fatal编程技术网

更新Mongodb中存储id的子文档

更新Mongodb中存储id的子文档,mongodb,nosql,Mongodb,Nosql,我正在开发一个应用程序,我们决定用Mongodb实现数据库,所以我对它真的很陌生。在数据库中,每个公司都有一个集合,我们需要在公司集合的子文档中存储公司的每个产品类别的ID,比如说,我们需要在集合中插入以下对象: { name : "comapnyX" address : { "street" : "main street", "ZipCode" : "12345" }, categories : [ { "name" : "category1"

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

{ 
  name : "comapnyX"
  address : {
     "street" : "main street",
     "ZipCode" : "12345" 
  },
  categories : [
     { "name" : "category1" },  
     { name" : "category2" } 
  ] 
}   
如果以后我们决定更新这些类别,我们需要在这个子文档中再添加一个类别,我该如何创建更新


如果从Mongodb的数据建模角度来看,这不是一个好的做法,也请告知我。您可以使用update方法和$push操作符添加一个新类别:

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

MongoDB Docs on$push:

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