gpt4 book ai didi

mongodb - Mongo - 如何在单个查询中更新具有不同值的多个文档?

转载 作者:行者123 更新时间:2023-12-02 09:57:21 26 4
gpt4 key购买 nike

我想编写一个查询来在单个查询中更新多个文档,请建议我可能的方法。

以下是我的 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"
}
]

请建议我正确的方法,或者我们可以这样做吗?

最佳答案

你基本上需要bulkWrite mongodb中的操作

const array = [
{
"_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"
}
]

最后的查询

Model.bulkWrite(
array.map((data) =>
({
updateOne: {
filter: { _id: data._id },
update: { $set: data }
}
})
)
})

关于mongodb - Mongo - 如何在单个查询中更新具有不同值的多个文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51800392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com