У меня есть две коллекции в mongodb с именами 'users' и 'posts'
пользователи выглядят так: -
[
{
"_id": "5e3ffba65bad3a38dc0509cd",
"name": "Ekansh Jain",
"email": "ejekanshjain@gmail.com",
"password": "$2a$10$lF1evuJgfC0N7fIC4I7KrOG.lq56aiHzndIYwc/YRb3auLTgHfmGK",
"createdAt": "2020-02-09T12:31:34.117Z",
"updatedAt": "2020-02-09T12:31:34.117Z",
"__v": 0
},
{
"_id": "5e403dcd1000793694bd2276",
"name": "Ekansh Jain",
"email": "ejekanshjain2@gmail.com",
"password": "$2a$10$qGmng4KrXVXKt0RLnSMgMueo.BenKM43QIpURrzxW4M.HGDHe//TC",
"createdAt": "2020-02-09T17:13:49.508Z",
"updatedAt": "2020-02-09T17:13:49.508Z",
"__v": 0
}
]
сообщения выглядят так
[
{
"_id": "5e403aa22a28e430b0d2641a",
"title": "My Post 1",
"body": "this is my first post's body",
"createdBy": "5e3ffba65bad3a38dc0509cd",
"createdAt": "2020-02-09T17:00:18.991Z",
"updatedAt": "2020-02-09T17:00:18.991Z",
"__v": 0,
"userInfo": []
},
{
"_id": "5e403e8b1000793694bd2278",
"title": "LOL",
"body": "LOL",
"createdBy": "5e403dcd1000793694bd2276",
"createdAt": "2020-02-09T17:16:59.513Z",
"updatedAt": "2020-02-09T17:16:59.513Z",
"__v": 0,
"userInfo": []
},
{
"_id": "5e46c8cfe56d4325b4e8d334",
"title": "test Post",
"body": "this is my first post's body",
"createdBy": "5e3ffba65bad3a38dc0509cd",
"createdAt": "2020-02-14T16:20:31.771Z",
"updatedAt": "2020-02-14T16:20:31.771Z",
"__v": 0,
"userInfo": []
}
]
В моем приложении nodejs express есть две модели mon goose с именами User и Post.
Я не могу объединить (не могу применить внутреннее объединение к сообщениям и пользователю)
Вот код, который я сейчас использую: -
const posts = await Post.aggregate([
{
"$lookup": {
"from": "users",
"localField": "createdBy",
"foreignField": "_id",
"as": "userInfo"
}
}
]).exec()
В результате он возвращает массив объектов записей с пустым объектом userInfo. Может ли кто-нибудь помочь мне с этим ...