gpt4 book ai didi

javascript - Mongoose : update nested document array

转载 作者:可可西里 更新时间:2023-11-01 10:42:13 26 4
gpt4 key购买 nike

我的收藏如下:

   "_id" : ObjectId("5751f7892ae95d601f40411d"),

"doc" : [
{
"org" : ObjectId("5751f7892ae95d601f40411c"),
"action" : 0,
"_id" : ObjectId("5751f7892ae95d601f40411e")
},
{
"org" : ObjectId("5751952cace204c507fad255"),
"action" : 1,
"_id" : ObjectId("575217ce341cf6512b8dff39")
} ]

我想用 org:5751952cace204c507fad255 更新文档中的操作字段所以 Action 将等于 2我知道这已经回答了很多次,但它对我不起作用

这是我尝试过但 Collection 没有改变的方法:

     Model.update(
{
"_id":ObjectId("5751f7892ae95d601f40411d"),
"doc.org":ObjectId("5751952cace204c507fad255")
},
{
"$inc": {
"doc.$.action": 1
}
}
)

最佳答案

可以尝试使用位置运算符 $ 来增加匹配的 Action doc.$.action

喜欢:

//assume you passed modelId and orgId in request body
// According to your tag you may used mongoose so use mongoose.Types.ObjectId('5751f7892ae95d601f40411d') instead of ObjectId("5751f7892ae95d601f40411d")
// or direct req.body.modelId without convert
Model.update(
{
"_id": req.body.modelId,
"doc.org": req.body.orgId
},
{
"$inc": {
"doc.$.action": 1
}
},
function(error, updatedData) {
if(error) {
return res.status(400).send(error);
}
return res.status(200).send(updatedData);
}
);

关于javascript - Mongoose : update nested document array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37659216/

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