如何在 MongoDB 中向物件中的陣列插入一項?
若要將一項插入物件中已建立的陣列中,請使用 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" } ] } }
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP