Introducción Hablando de duplicidad, en alguna ocasión tuve que eliminar datos duplicados en MySQL y ya lo expliqué. Hoy explicaré cómo podemos eliminar duplicados en MongoDB, un gestor de base de datos que se compone de colecciones y que dentro de éstas aloja documentos.
Eliminar duplicados Si sólo vienes por la solución, y no quieres ver el ejemplo, lo que tienes que ejecutar es esto:
db.coleccion.aggregate([ { "$group": { "_id": { "laClave": "$laClave" }, "dups": { "$push": "$_id" }, "count": { "$sum": 1 } }}, { "$match": { "count": { "$gt": 1 } }} ]).forEach(function(doc) { doc.dups.shift(); db.coleccion.remove({ "_id": {"$in": doc.dups }}); }); Ahí “coleccion” es el nombre de tu colección. Y “laClave” es la clave que no quieres que se repita más de una vez.
...