我的MongoDB数据库中有两个集合,category
和product
,这两者之间有一对多的关系.所以我得到了我想要的:
db.category.aggregate([
{
"$lookup": {
"from": "product",
"localField": "_id",
"foreignField": "category_id",
"as": "products"
}
}
])
它工作得非常好,现在我想向乘积数组中的每个乘积添加一个等于_id
的新字段id
.经过数小时的研究,这是我能找到的最接近的东西:
db.category.aggregate([
{
"$lookup": {
"from": "product",
"localField": "_id",
"foreignField": "category_id",
"as": "products"
}
},
{
$addFields: {
"id": "$_id",
"product.id": "$products._id"
}
},
])
这将添加id
个字段,但其值等于包含所有乘积_id
的数组!
我在Mongoplayground 创建了这个,以防你想查看:
非常感谢您的帮助.