MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Maneira rápida de encontrar duplicatas na coluna indexada no mongodb


Eu pessoalmente descobri que em grandes bancos de dados (1 TB e mais) a resposta aceita é terrivelmente lenta. A agregação é muito mais rápida. Exemplo está abaixo:
db.places.aggregate(
    { $group : {_id : "$extra_info.id", total : { $sum : 1 } } },
    { $match : { total : { $gte : 2 } } },
    { $sort : {total : -1} },
    { $limit : 5 }
    );

Ele procura documentos cujo extra_info.id é usado duas ou mais vezes, classifica os resultados em ordem decrescente de um determinado campo e imprime os primeiros 5 valores dele.