【发布时间】:2021-10-25 21:34:17
【问题描述】:
我是一名 Mongodb 初学者。我有一个集合,我想在其中查找并从一个文档中提取一个项目,然后将其推送到同一集合中的另一个匹配文档。
给定:将带有orderNumber: 100 和itemId: I000007 的项目移动到orderNumber: 102 项目数组
下面是订单集合。
/* 1 */
{
"_id" : ObjectId("61264e2dc0e8b5b3daa16c9a"),
"orderNumber" : "100",
"__v" : 0,
"items" : [
{
"itemId" : "I000005",
"region" : [
"US",
"EUROPE"
]
},
{
"itemId" : "I000006",
"region" : []
},
{
"itemId" : "I000007",
"region" : [
"JAPAN"
]
}
]
}
/* 2 */
{
"_id" : ObjectId("61268283c0e8b5b3daa1f245"),
"orderNumber" : "101",
"__v" : 0,
"items" : [
{
"itemId" : "I000008",
"region" : []
}
]
}
/* 3 */
{
"_id" : ObjectId("61268283c0e8b5b3daa1fg3c"),
"orderNumber" : "102",
"__v" : 0,
"items" : [
{
"itemId" : "I000009",
"region" : []
}
]
}
执行查询后,我想要以下结果。
/* 1 */
{
"_id" : ObjectId("61264e2dc0e8b5b3daa16c9a"),
"orderNumber" : "100",
"__v" : 0,
"items" : [
{
"itemId" : "I000005",
"region" : [
"AMRS",
"APAC"
]
},
{
"itemId" : "I000006",
"region" : []
}
]
}
/* 2 */
{
"_id" : ObjectId("61268283c0e8b5b3daa1f245"),
"orderNumber" : "101",
"__v" : 0,
"items" : [
{
"itemId" : "I000008",
"region" : []
}
]
}
/* 3 */
{
"_id" : ObjectId("61268283c0e8b5b3daa1fg3c"),
"orderNumber" : "102",
"__v" : 0,
"items" : [
{
"itemId" : "I000009",
"region" : [],
},
{
"itemId" : "I000007",
"region" : [
"JAPAN"
]
}
]
}
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query aggregation-framework