是否可以在同一次更新中多次使用 `$addToSet`?
可能的,使用 `UPDATE()` 方法。我們用文件建立集合 −
> db.demo27.insertOne({"StudentDetails":{"101":{"Subject":["Java"]}}});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15f9e822d07d3b95082e7f")
}
> db.demo27.insertOne({"StudentDetails":{"101":{"Subject":["MySQL"]}}});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15f9eb22d07d3b95082e80")
}藉助 `find()` 方法顯示集合中的所有文件 −
> db.demo27.find().pretty();
這將產生以下輸出 −
{
"_id" : ObjectId("5e15f9e822d07d3b95082e7f"),
"StudentDetails" : {
"101" : {
"Subject" : [
"Java"
]
}
}
}
{
"_id" : ObjectId("5e15f9eb22d07d3b95082e80"),
"StudentDetails" : {
"101" : {
"Subject" : [
"MySQL"
]
}
}
}以下是查詢,以在同一次更新中多次實現 `$addToSet` −
> db.demo27.update({}, {$addToSet: {"StudentDetails.101.Subject": "MongoDB"}}, {upsert: true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })藉助 `find()` 方法顯示集合中的所有文件 −
> db.demo27.find().pretty();
這將產生以下輸出 −
{
"_id" : ObjectId("5e15f9e822d07d3b95082e7f"),
"StudentDetails" : {
"101" : {
"Subject" : [
"Java",
"MongoDB"
]
}
}
}
{
"_id" : ObjectId("5e15f9eb22d07d3b95082e80"),
"StudentDetails" : {
"101" : {
"Subject" : [
"MySQL"
]
}
}
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP