如何在 MongoDB 中向对象内部的数组插入元素?
mongodbdatabasebig data analytics
要向对象内部已创建的数组插入元素,请使用 MongoDB 的 $push 方法。让我们创建一个包含文档的集合。 −
> db.demo449.insertOne(
... {
... details1: {
... details2: [{
... _id:new ObjectId(),
... Name:"Chris"
... }],
... details3: [{
... _id:new ObjectId(),
... Name:"David"
... }]
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e7a40e971f552a0ebb0a6e3")
}
借助 find() 方法显示集合中的所有文档 −
> db.demo449.find();
这将产生以下输出 −
{ "_id" : ObjectId("5e7a40e971f552a0ebb0a6e3"), "details1" : { "details2" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e1"), "Name" : "Chris" } ], "details3" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e2"), "Name" : "David" } ] } }
以下查询语句用于向对象内部的数组插入一个元素。 −
> db.demo449.update({_id:ObjectId("5e7a40e971f552a0ebb0a6e3")}, {$push: {
'details1.details2':{_id:ObjectId(),"Name":"Carol"}}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }
借助 find() 方法显示集合中的所有文档 −
> db.demo449.find();
这将产生以下输出 −
{ "_id" : ObjectId("5e7a40e971f552a0ebb0a6e3"), "details1" : { "details2" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e1"), "Name" : "Chris" }, { "_id" :
ObjectId("5e7a41a671f552a0ebb0a6e5"), "Name" : "Carol" } ], "details3" : [ { "_id" :
ObjectId("5e7a40e971f552a0ebb0a6e2"), "Name" : "David" } ] } }

