Как заполнить поле с помощью $ lookup в агрегации mongoDB - PullRequest
0 голосов
/ 12 марта 2020

В моем проекте я хочу go заполнить (заполнить) поле project 1.

. Я использую следующий запрос агрегации для получения данных из двух коллекций:

Investment.aggregate([

            {
                $project: {
                    year: { $year: "$date" },
                    month: { $month: "$date" },
                    _id: 1,
                    convAmt: 1
                },
            }, {
                $group: {
                    _id: { year: "$year", month: "$month" },
                    totalInvestMonthy: { $sum: "$convAmt" },
                    amount: {
                        $push: '$convAmt',
                    },
                }
            },{
                $lookup: {
                    from: 'investments',
                    foreignField: "convAmt",
                    localField: "amount",
                    "as": 'users_docs'
                },

            },{
                $match: {
                    "_id.year": year, // year is passed in params
                }
            },

        ]),

и результат кода - это JSON, ниже

    "data": [
        {
            "_id": {
                "year": 2020,
                "month": 2
            },
            "totalInvestMonthy": 650.98,
            "amount": [
                374.03,
            ],
            "users_docs": [
                {
                    "_id": "5e6a140ab1fdbf34c86322e5",
                    "project": "5e68842bfa26a40830a30823",    // I want to populate here
                    "date": "2020-02-21T10:50:32.000Z",
                    "convAmt": 374.03,
                    "user": "5e2ea3b25a436604ecf558b3",
                    "username": "Zeeshan2016",

                },
            ]
        },

Я хочу получить конечный результат, как показано ниже, в одном объекте; Я не хочу отдельный объект только для project

 "users_docs": [
                {
                    "_id": "5e6a140ab1fdbf34c86322e5",
                    "project":{
                           "_id": "5e688cd02369930b581ec5f7",
                            "projectName": "KhataBook Andorid" 
                              }
                    "convAmt": 374.03,
                    "username:"zeeshan4019"
                     "user": "5e2ea3b25a436604ecf558b3",
                },
            ]
...