Entfernen Sie Duplikate in MongoDB

MD Aminul Islam 20 Juni 2023
Entfernen Sie Duplikate in MongoDB

Als Datenbankadministrator sind Sie möglicherweise mit doppelten Einträgen vertraut. Doppelte Einträge sind ein häufiges Problem in der Datenbankverwaltung.

In diesem Artikel werden wir sehen, wie wir doppelte Einträge in MongoDB entfernen können, und wir werden auch ein Beispiel mit einer angemessenen Erklärung sehen, um das Thema zu vereinfachen.

Entfernen Sie doppelte Dokumente aus der Sammlung in MongoDB

Wir müssen die Aufgabe in zwei Teile aufteilen, um doppelte Einträge aus der Datenbank zu entfernen. Zunächst müssen wir die Dokumente einer Sammlung nach bestimmten Kriterien sortieren und danach für jedes Dokument eine Funktion mit der Methode forEach() definieren.

Innerhalb der Funktion müssen wir eine Methode namens remove() verwenden, die das doppelte Dokument entfernt. Schauen wir uns nun ein Beispiel an, um es zu verdeutlichen.

In unserem Beispiel unten zeigen wir, wie wir doppelte Einträge aus unseren Sammlungen entfernen können. Bevor wir beginnen, erstellen wir absichtlich einige doppelte Dokumente wie die folgenden:

{
  "sl": 1,
  "Name": "Alex"
}
{
  "sl": 1,
  "Name": "Alex"
}

Jetzt werden wir den folgenden Befehl in der MongoDB-Konsole ausführen:

db.mycolletion.find({}, {
  "sl": 1
}).sort({
  _id: 1
}).forEach(function (record) {
  db.mycolletion.remove({
    _id: {
      $gt: record._id
    },
    "sl": record.sl
  });
});

Wir haben den Arbeitsmechanismus des obigen Befehls bereits in unserem Einführungsteil beschrieben. Nachdem Sie den Befehl erfolgreich ausgeführt haben, erhalten Sie die folgende Ausgabe in Ihrem Konsolenfenster.

{
  "sl": 1,
  "Name": "Alex"
}

Denken Sie daran, dass Sie zu Ihrer Datenbank wechseln müssen, wenn Sie sich nicht in Ihrer Zieldatenbank befinden. Verwenden Sie dazu den folgenden Befehl:

use Your_DB

Bitte beachten Sie, dass die in diesem Artikel gezeigten Befehle für die MongoDB-Datenbank gelten und der Befehl auf der MongoDB-Konsole ausgeführt werden muss.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - MongoDB Collection