Версия Mongo 2.4.9, поэтому
includeArrayIndex для unwind не подойдёт
Допустим тестовый документ
{
"_id" : ObjectId("576d01fa2e350f30628b4575"),
"params" : [
/* 0 */
{
"project_id" : 101
},
/* 1 */
{
"project_id" : 201
},
/* 2 */
{
"project_id" : 301
},
/* 3 */
{
"project_id" : 201
},
]
}
Пробую найти дубликаты по project_id и вернуть индексы элементов в массиве params
db.params.aggregate([
{$unwind:
"$params"
},
{$group: {
'_id': '$params.project_id',
'indexes': {
$addToSet : 'ARRAY_INDEX' //Тут [1, 3] для project_id = 201
},
'count':{
$sum:1,
}
}},
{$match: {
'count' : {
$gt : 1,
}
}},
])