размер в mongodb с условием - PullRequest
       7

размер в mongodb с условием

0 голосов
/ 04 февраля 2019

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

Мой код:

mongo.folder.aggregate([
                {
                    $lookup:
                    {
                        from: 'inspections',
                        localField: '_id',
                        foreignField: 'projectID',
                        as: 'projectdata'
                    }        
                },
                { $match : {
                    $and: [ 
                         querydata
                    ]
               }
            },
                {
                    "$project": {
                        "folder_name" : "$folder_name",
                        "location_name": "$location_name", 
                        "architect_name" :"$architect_name",
                        "cover_img": "$cover_img",
                        "created_date" : "$created_date",
                        "parent_id":"$parent_id",
                        "share" : "$share",
                        "share_id":'$share_id',
                        "user_id": "$user_id",
                        "customer_id" : "$customer_id",
                        "download_access" :  "$download_access",
                        "inspection_count": {
                            "$size": {
                              "$filter": {
                                "input": "$projectdata.inspection_data",
                                "as": "el",
                                "cond": { "$eq": [ "$$el.published", "Y" ] }
                              }
                            }
                          }
                        }
                }
            ]).exec(function (err, response) {
                console.log("Inside Parent Id 1")

                console.log(response)

                        if(response){
                        response.splice(0, 0, responseparent);
                        }
                        else
                        {
                        response  = responseparent;
                        }
                if (err){ 


                     res.json({ 'folder': [], 'filelist': [] }); } else {

                        res.json({ 'folder': response, 'filelist': [] }); }
            });

Здесь счетчик проверок должен быть равен 3 Но получаю счетчик нулей.Как я могу найти размер массива на основе значения их поля.Я использовал фильтр, хотя он показывает 0 в счетчике

...