चूंकि आपके पास एकल समूह फ़ील्ड है, इसलिए सबसे अच्छा तरीका है कि आप केवल _id
. का उपयोग करें उस फ़ील्ड पर समूह कुंजी और फिर एक और $project
बनाएं पाइपलाइन जो _id
. को नया आकार देगी पिछली पाइपलाइन से वांछित उप-दस्तावेज़ में कुंजी जो आप चाहते हैं। उदाहरण के लिए
db.analytics.aggregate([
{
"$match": {
"eventArgs.type": 'touchstart',
"eventType": 'mousedown',
"creationDateTime": { "$gte": ISODate("2017-02-24T000:00:00.000Z") }
}
},
{
"$group": {
"_id": "$eventArgs.elementId",
"count": { "$sum": 1 }
}
},
{
"$project": {
"eventsArgs.elementId": "$_id",
"count": 1, "_id": 0
}
}
]);
निम्नलिखित को भी काम करना चाहिए:
db.analytics.aggregate([
{
"$match": {
"eventArgs.type": 'touchstart',
"eventType": 'mousedown',
"creationDateTime": { "$gte": ISODate("2017-02-24T000:00:00.000Z") }
}
},
{
"$group": {
"_id": {
"eventArgs": {
"elementId": "$eventArgs.elementId"
}
},
"count": { "$sum": 1 }
}
}
]);