Въпреки че отговорът, споменат от @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 (въз основа на индекс на масив)
Можете да го тествате тук.