2014-09-24 2 views
0

Я попытался найти, как подсчитывать документы, дублированные в mongodb, и я получил эту функцию, она возвращает дубликаты документов.Как подсчитать дубликаты документов в mongodb?

db.job_crawler_models_jobs_crawlings.aggregate(
    { $group: { 
     _id: { field1: "$field1", field2: "$field2" }, 
     count: { $sum: 1 } 
    }}, 
    { $match: { 
     count: { $gt : 1 } 
    }} 
) 

Но я хочу получить дубликаты документов. Как я могу это сделать?

ответ

2

Вы можете попробовать добавить еще одну группу $ в конвейер. Не уверен, что это именно то, что вы ищете.

db.job_crawler_models_jobs_crawlings.aggregate(
{ $group: { 
    _id: { field1: "$field1", field2: "$field2" }, 
    count: { $sum: 1 } 
}}, 
{ $match: { 
    count: { $gt : 1 } 
}}, 
{ $group: { _id: null, duplicatedCounts: { $sum:1 } } } 
) 
+0

Это работает довольно хорошо, спасибо за ваш ответ. –

Смежные вопросы