鉴于我有以下Documnet:
项目:
{
"_id" : ObjectId("5db1f1d7c4da4b4c441fa61c"),"name": "Basketball","shopId": ObjectId("5dc82eec083afe33c7c6fcb7"),},{
"_id" : ObjectId("5db1f1d7c4da4b4c441fa62a"),"name": "Helmet",{
"_id" : ObjectId("5db1f1d7c4da4b4c441fa63b"),"name": "Bycicle",{
"_id" : ObjectId("5db1f1d7c4da4b4c441fa64c"),"name": "Painkillers",}
商店:
{
"_id" : ObjectId("5dc82eec083afe33c7c6fde6"),"name": "The only Basketball Shop",}
SHOPWITHITEMS:
{
"_id" : ObjectId("5dc82eec083afe33c7c6fae5"),"items" : [
ObjectId("5db1f1d7c4da4b4c441fa61c"),ObjectId("5db1f1d7c4da4b4c441fa62a"),ObjectId("5db1f1d7c4da4b4c441fa63b"),ObjectId("5db1f1d7c4da4b4c441fa64c"),],"createdAt" : ISODate("2019-11-10T15:38:20.688Z"),"updatedAt" : ISODate("2019-11-10T15:38:20.688Z"),"__v" : 0
}
我想查找/填充商品,但同时,在保持SHOPWITHITMES的原始结构的同时,查找和填充商品的其他数据。
所以最终结果将是这样的:
{
"_id" : ObjectId("5dc82eec083afe33c7c6fae5"),"items" : [
{
"_id" : ObjectId("5db1f1d7c4da4b4c441fa62a"),"shopName": "The Only Basketball Shop",...
],"__v" : 0
}
到目前为止,我有这个:
[
{$lookup: {
from: "ITEMS",localField: "items",foreignField: "_id",as: "items"
}},{$unwind: "$items"},{$lookup: {
from: "SHOP",localField: "items.shopId",as: "itemShop",}},{$group: {
_id: "$_id",items: {$push: "$items"},itemShop: {$push: "$itemShop"}
}},]
但是我正在努力将商店结果返回到相关项目文档中。