Dino Geek, cerca di aiutarti

Come rimuovere i duplicati in MongoDB?


In MongoDB, per rimuovere i dati duplicati, è possibile utilizzare il comando `distinct()` per ottenere valori unici per un dato campo. Tuttavia, se si desidera rimuovere i duplicati, sarà necessario creare uno script.

Ecco un semplice esempio di un’operazione che rimuoverebbe i duplicati in base ad un campo specifico (ad es. `campoDuplicato`) da una data collezione (ad es. `miaCollezione`):

```
var docs = db.miaCollezione.aggregate([ { $group: { _id: { campoDuplicato: “$campoDuplicato” }, dups: { $push: “$_id” }, count: { $sum: 1 } }}, { $match: { count: { $gt: 1 } }}
]);

docs.forEach(function(doc) { doc.dups.shift(); db.miaCollezione.deleteMany({ _id : { $in: doc.dups }});
});
```

In questo script, la parte `$group` raggruppa i documenti in base al campo duplicato, `$push` aggiunge l’ID di ogni documento duplicato ad un array, e `$sum` conta il numero totale di duplicati.

Poi, la parte `$match` seleziona solo i documenti con più di una occorrenza.

Infine, la funzione `forEach` scorre ogni gruppo di duplicati, rimuove l’ID del primo duplicato dall’array (per mantenerne almeno uno), e quindi rimuove tutti gli altri documenti duplicati utilizzando `deleteMany()`.

Attenzione, questo metodo rimuove dati quindi è consigliato eseguire un backup prima di procedere.


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo