【发布时间】:2019-01-18 21:20:07
【问题描述】:
我想编写一个查询以在单个查询中更新多个文档,请建议我可能的方法。
以下是我的 mongo 文档。
[
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204cd"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "ABC",
"userType": "admin"
},
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204ce"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "DEF",
"userType": "admin"
},
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204cf"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "GHI",
"userType": "admin"
},
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204d0"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "XYZ",
"userType": "admin"
}
]
我已经在代码中跟踪更新的对象,我如何使用查询在数据库中更新它。
[
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204cd"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "ABC123",
"color":"red"
"userType": "admin"
},
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204ce"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "DEF123",
"color":"blue"
"userType": "admin"
},
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204cf"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "GHI123",
"color":"green"
"userType": "admin"
},
{
"_id" : ObjectId("5b0f0a2ca1f6633032c204d0"),
"parent_id" : ObjectId("5b0f09e1a1f6633032c204cc"),
"name" : "XYZ123",
"color":"rgb(14,256,12, 1)"
"userType": "admin"
}
]
请给我建议正确的方法,或者我们可以做到吗?
【问题讨论】:
-
你尝试过什么?
-
没什么,我试过
updateMany和upsert: true。 -
您传递什么类型的数组来更新文档?更新您的问题并发布您想要更新多个文档的有效负载数组
-
来自与输出对象相同。只想比较
_id并更新所有数据
标签: mongodb mongoose mongodb-query