Saltar al contenido

mongodb eliminar duplicados ejemplo de código de agregación

Ejemplo 1: mongodb eliminar documentos duplicados

var duplicates = [];
db.collectionName.aggregate([
  { $match: { 
    name: { "$ne": '' }  // discard selection criteria
  }},
  { $group: { 
    _id: { name: "$name"}, // can be grouped on multiple properties 
    dups: { "$addToSet": "$_id" }, 
    count: { "$sum": 1 } 
  }}, 
  { $match: { 
    count: { "$gt": 1 }    // Duplicates considered as count greater than one
  }}
],
{allowDiskUse: true}       // For faster processing if set is larger
)               // You can display result until this and check duplicates 
.forEach(function(doc) {
    doc.dups.shift();      // First element skipped for deleting
    doc.dups.forEach( function(dupId){ 
        duplicates.push(dupId);   // Getting all duplicate ids
        }
    )    
})
// If you want to Check all "_id" which you are deleting else print statement not needed
printjson(duplicates);     
// Remove all duplicates in one go    
db.collectionName.remove({_id:{$in:duplicates}})

Ejemplo 2: MongoDB: desenrollar la matriz mediante agregación y eliminar duplicados

## MongoDB - Unwind array using aggregation and remove duplicates
db.users.aggregate([
  { $unwind: '$data' },
  { $group: { _id: '$_id', data: { $addToSet: '$data' } } }
]);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *