如何更新 MongoDB 文件以向陣列中新增新項?
要向陣列中新增新項,你可以使用 $push 運算子。我們首先實現以下查詢以建立一個文件集合
> db.updateDemo.insertOne({"StudentName":"Larry","StudentCoreSubject":["Java","C"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c98ba78330fd0aa0d2fe4c9")
}
>db.updateDemo.insertOne({"StudentName":"Robert","StudentCoreSubject":["C++","MongoDB"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c98ba8b330fd0aa0d2fe4ca")
}
> db.updateDemo.insertOne({"StudentName":"Chris","StudentCoreSubject":["Python"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c98ba9b330fd0aa0d2fe4cb")
}以下是使用 find() 方法顯示集合中所有文件的查詢
> db.updateDemo.find().pretty();
這將產生以下輸出
{
"_id" : ObjectId("5c98ba78330fd0aa0d2fe4c9"),
"StudentName" : "Larry",
"StudentCoreSubject" : [
"Java",
"C"
]
}
{
"_id" : ObjectId("5c98ba8b330fd0aa0d2fe4ca"),
"StudentName" : "Robert",
"StudentCoreSubject" : [
"C++",
"MongoDB"
]
}
{
"_id" : ObjectId("5c98ba9b330fd0aa0d2fe4cb"),
"StudentName" : "Chris",
"StudentCoreSubject" : [
"Python"
]
}以下是向陣列中新增新項的查詢
> db.updateDemo.update( { _id:ObjectId("5c98ba78330fd0aa0d2fe4c9") }, { $push: { "StudentCoreSubject": "MySQL" } });
Updated 1 existing record(s) in 2ms
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })現在檢查該項是否已插入陣列中
> db.updateDemo.find().pretty();
將產生以下輸出。字串“MySQL”成功插入 id 為 5c98ba78330fd0aa0d2fe4c9 中
{
"_id" : ObjectId("5c98ba78330fd0aa0d2fe4c9"),
"StudentName" : "Larry",
"StudentCoreSubject" : [
"Java",
"C",
"MySQL"
]
}
{
"_id" : ObjectId("5c98ba8b330fd0aa0d2fe4ca"),
"StudentName" : "Robert",
"StudentCoreSubject" : [
"C++",
"MongoDB"
]
}
{
"_id" : ObjectId("5c98ba9b330fd0aa0d2fe4cb"),
"StudentName" : "Chris",
"StudentCoreSubject" : [
"Python"
]
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP