Агрегация мангустов - $ match в $ group - PullRequest
0 голосов
/ 09 октября 2019

Пожалуйста, помогите мне исправить это. Я пытаюсь сосчитать $match документов, а затем пытаюсь сосчитать новые $match документов. Я знаю, что описание не очень понятно, но, возможно, мой код передаст то, что я пытаюсь объяснить:

Model.aggregate([
        {
            $match: {
                Ref: { $in: [mongoose.Types.ObjectId(id)] }
            },
        }, {
            $group: {
                _id: null,
                total: {
                    $sum: "$total"
                },
                totalItems: {
                    $sum: 1
                },
                totalMatchedItems: {
                    $match:{
                        includeItem: 'Yes'
                    },
                    $count: 1
                }

            }
        }
    ], callback)

Так что в основном я пытаюсь сосчитать 2 документа, но один из них имеет другое состояние. Есть ли способ достичь вышеупомянутого?

РЕДАКТИРОВАТЬ

Таким образом, поле totalMatchedItems должно в основном иметь условие. Он должен учитывать только те документы, у которых свойство includeItem установлено как Yes.

...