आप $match
. में उपयोग की जा रही फ़ील्ड को प्रोजेक्ट करना भूल गए हैं और $group
बाद में। त्वरित समाधान के लिए, इसके बजाय इस क्वेरी का उपयोग करें:
Offer.aggregate([
{
$project: {
myyear: { $year: "$ending_date" },
carer_id: 1,
status: 1,
ending_date: 1
}
},
{
$match: {
carer_id: req.params.carer_id,
myyear: 2015,
status: 3
}
},
{
$group: {
_id: {
year: { $year: "$ending_date" },
month: { $month: "$ending_date" }
},
count: { $sum: 1 }
}
}],
function (err, res)
{
if (err) {} // TODO handle error
console.log(res);
});
उस ने कहा, ब्लेक्स सेवन उसके उत्तर में बेहतर प्रश्न बनाने का तरीका बताया। मुझे लगता है कि आपको इसके बजाय उसके दृष्टिकोण का उपयोग करने का प्रयास करना चाहिए।