gpt4 book ai didi

node.js - 从嵌套数组 mongodb 中删除元素

转载 作者:太空宇宙 更新时间:2023-11-03 22:59:25 25 4
gpt4 key购买 nike

我有以下文档,它有两个数组,一个在另一个里面,
附件数组和附件数组内的文件数组。我想使用此元素 _id 删除文件数组内的元素。但它不适合我,我尝试了这个代码,它返回 {n:144,n修改:0,确定:1}

   Invoice.update({}, {
$pull: {
"attachment":
{
"files":
{
$elemMatch:
{ _id: ObjectId("5b7937014b2a961d082de9bf") }
}
}
}
}, { multi: true })
.then(result => {
console.log("delete", result);


});

这就是文档的样子 document

最佳答案

您可以在3.6版本中尝试以下更新查询。

Invoice.update( 
{},
{"$pull":{"attachment.$[].files":{_id:ObjectId("5b7969ac8fb15f3e5c8e844e")}}},
{"multi": true}, function (err, result) {console.log(result);
});

如果您要从旧版本升级,请使用 db.adminCommand( { setFeatureCompatibilityVersion: 3.6 或 4.0 取决于您的版本 } )

关于node.js - 从嵌套数组 mongodb 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51916388/

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