जब आप एकत्रीकरण पाइपलाइन में सब कुछ कर सकते हैं तो आप यहां कुछ विधियों को मिला रहे हैं। अन्यथा यह आपके कदमों को सही क्रम में लाने की बात है:
db.collection.aggregate([
{$sort: { createdOn: -1 }},
{$group: { _id: "$itemId",
createdOn: {$first: "$createdOn"},
field1: {$first: "$field1" },
field2: {$first: "$field2" }
}},
{$match: { field1: "foo" }}
])
इसलिए नवीनतम दस्तावेज़ों के लिए पहले छाँटें। itemId
. पर समूह बनाएं (आदेश $first के लिए बनाए रखा जाएगा), और फिर यदि आवश्यक हो तो $match के साथ फ़िल्टर करें। लेकिन आपके समूहीकृत दस्तावेज़ नवीनतम होंगे।