更新MongoDB中数组中的多个元素?
要更新多个元素,请使用$[]。$[]是一个全位置运算符,指示更新运算符应修改指定数组字段中的所有元素。
首先让我们创建一个包含文档的集合-
> db.demo385.insertOne({"ServerLogs": [... {
... "status":"InActive"
... },
... {
... "status":"InActive"
... },
... {
... "status":"InActive"
... }
... ]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e5b6a7522064be7ab44e7f5")
}
在find()
方法的帮助下显示集合中的所有文档-
> db.demo385.find().pretty();
这将产生以下输出-
{"_id" : ObjectId("5e5b6a7522064be7ab44e7f5"),
"ServerLogs" : [
{
"status" : "InActive"
},
{
"status" : "InActive"
},
{
"status" : "InActive"
}
]
}
以下是更新MongoDB中数组中的多个元素的查询-
> db.demo385.update(... { "_id" : ObjectId("5e5b6a7522064be7ab44e7f5") },
... { "$set": { "ServerLogs.$[].status": "Active" }}
... )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在find()
方法的帮助下显示集合中的所有文档-
> db.demo385.find().pretty();
这将产生以下输出-
{"_id" : ObjectId("5e5b6a7522064be7ab44e7f5"),
"ServerLogs" : [
{
"status" : "Active"
},
{
"status" : "Active"
},
{
"status" : "Active"
}
]
}
以上是 更新MongoDB中数组中的多个元素? 的全部内容, 来源链接: utcz.com/z/355669.html