हालांकि @prasad_ द्वारा उल्लिखित उत्तर काम करता प्रतीत होता है, $unwind के बाद से Mongodb 3.2 में ArrayIndex विकल्प शामिल है जो इसे हासिल करना आसान बनाता है:
db.collection.aggregate([
{
$group: {
_id: null,
data: {
$push: "$$ROOT"
}
}
},
{
$unwind: {
path: "$data",
includeArrayIndex: "counter",
}
},
{
$replaceRoot: {
newRoot: {
$mergeObjects: [
"$data",
{
counter: {
$add: [
"$counter",
1
]
}
}
]
}
}
}
])
अंतिम चरण यहां केवल आपके दस्तावेज़ों को नया आकार देने और प्रत्येक काउंटर में 1 जोड़ने के लिए है, क्योंकि यह 0-आधारित (सरणी अनुक्रमणिका के आधार पर)
हैआप यहां इसका परीक्षण कर सकते हैं।