Возврат пустого, когда $ lookup массив Id в одной схеме, чтобы взять детали из другой схемы - PullRequest
0 голосов
/ 05 мая 2019

это моя структура базы данных ImagePost:

{
       {
           "_id": "5cce6587ad95e78092e6efae",
           "by": "5ccdb8f3511ad70d4023f273",
           "category": "Entertainment",
           "images": [
               "5cce6583ad95e78092e6efac"
            ]
        }
    ]
}

это моя структура базы данных Image:

{
    "_id": "5cce6583ad95e78092e6efac",
    "postImage": "uploads/2019-05-05T04:24:35.015ZIMG_1570.JPG",
    "title": "Singing",
    "date": "5/4/2019",
    "category": "Entertainment",
    "by": "5ccdb8f3511ad70d4023f273",
}

Я пытался сделать:

  ImagePost.aggregate([
       {
           $match: {by: mongoose.Types.ObjectId(userId)}
       },
       {
          $project: {by: 1, category: 1, postImages: {$slice: ['$images', 3]}}
       },
       {$lookup: {
           from: 'Image',
           localField: 'images',
           foreignField: '_id',
           as: 'imageDetail'
       }}
   ])
])

результат, который он показывает после нескольких попыток: он не показывает детали изображения из схемы изображения.

{
    "imagePosts": [
        {
            "_id": "5cce6587ad95e78092e6efae",
            "by": "5ccdb8f3511ad70d4023f273",
            "category": "Entertainment",
            "postImages": [
                "5cce6583ad95e78092e6efac"
            ],
            "imageDetail": []
        }
    ]
}

Может ли кто-нибудь помочь мне решить эту проблему, чтобы я мог показать результат следующим образом:

{
    "imagePosts": [
        {
            "_id": "5cce6587ad95e78092e6efae",
            "by": "5ccdb8f3511ad70d4023f273",
            "category": "Entertainment",
            "postImages": [
                "5cce6583ad95e78092e6efac"
            ],
            "imageDetail": [{
             "_id": "5cce6583ad95e78092e6efac",
             "postImage": "uploads/2019-05-05T04:24:35.015ZIMG_1570.JPG",
             "title": "Singing",
             "date": "5/4/2019",
             "category": "Entertainment",
             "by": "5ccdb8f3511ad70d4023f273",
            }]
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...