Mongodb 如何基于嵌套数组id将数据推送到mongo db中的两级嵌套数组?

Mongodb 如何基于嵌套数组id将数据推送到mongo db中的两级嵌套数组?,mongodb,Mongodb,我正在使用MongoDB、nodeJs处理应用程序。我有一个文档,上面有两级嵌套数据。我想基于1级“uuid”推送2级嵌套数组的数据。我会附上我的文件图片,你会确切知道我想要什么 节点代码: await collection.update( { uuid: req.query.sub_uuid }, { $push: { subtests.uuid: req.body } }); await test.save(); 提前感谢。您必须使用它,您可以对数组中的更新元素施加一些约束 db.

我正在使用MongoDB、nodeJs处理应用程序。我有一个文档,上面有两级嵌套数据。我想基于1级“uuid”推送2级嵌套数组的数据。我会附上我的文件图片,你会确切知道我想要什么

节点代码:

await collection.update(
{
 uuid: req.query.sub_uuid
},
{
 $push: { subtests.uuid: req.body }
});
await test.save();
提前感谢。

您必须使用它,您可以对数组中的更新元素施加一些约束

db.collections.updateMany({
“subtests.uuid”:“您的uuid”
},
{
$set:{
{$push:{“subtests.$[el].subtests:{/*要在数组中推入的项*/}
}
},
{
阵列过滤器:[
{
“el.uuid”:“你的uuid”
}
]

})
感谢您的友好回答…但@Ashkan实际上我在后台使用mongoose,我试图执行此查询,但我的mongoose出现“CallBack.apply不是函数”错误…我在mongoose文档中搜索数组筛选,但没有找到我要找的内容…您了解我的解决方案!。。。。你知道如何在猫鼬中做到这一点让我知道…再次感谢。我不是猫鼬方面的专家,在项目中主要使用水线。但问题是,每当我想做一些像这样复杂的查询时,就使用行查询。用ORMs编写复杂的查询很难写、读,也很难更新@热汉沙