Mongodb分组为子文档

鉴于我有以下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"}
  }},]

但是我正在努力将商店结果返回到相关项目文档中。

askf7355 回答:Mongodb分组为子文档

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3128498.html

大家都在问