gpt4 book ai didi

node.js - 如何更新 mongodb 中嵌套对象的字段?

转载 作者:太空宇宙 更新时间:2023-11-04 02:35:04 25 4
gpt4 key购买 nike

Salam(意思是你好):)

我正在使用node-mongodb-native驱动程序和我需要更新存储在数组中的对象的特定字段。这是我的 mongodb 集合中的示例文档:

{
"fields" : [
{
"en" : "birthDate",
"status" : "enable",
"index" : 10
},{
"en" : "email",
"status" : "enable",
"index" : 4
},{
"en" : "inviterCode",
"status" : "enable",
"index" : 2
}
]
}

这是我的新数据:

var newData = [ 
{
"en" : "birthDate",
"status" : "disable",
},{
"en" : "email",
"status" : "disable",
}
];

如你所见,如果 en现场比赛,status字段应该更新。我知道以下查询适用于单个更新,但如何使用单个查询实现多个更新?

collection.update(
{'fields.en': 'birthDate'},
{$set:{'fields.$.status': 'disable'}},
{w:1, multi: true},
function(error, count){

}
);

最佳答案

不幸的是,使用单一更新是不可能的。有一个open ticket MongoDB 为此。

现在您需要以编程方式执行此操作(例如循环遍历数组以查找相关索引)。

关于node.js - 如何更新 mongodb 中嵌套对象的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23127146/

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