Felder in MongoDB vergleichen

MD Aminul Islam 20 Juni 2023
  1. Felder in MongoDB vergleichen
  2. Beispiele für den Vergleich zweier Felder in MongoDB
Felder in MongoDB vergleichen

Manchmal müssen wir ein Dokument finden, indem wir zwei Felder vergleichen. Beispielsweise müssen wir möglicherweise die Serien- und ID-Nummern berücksichtigen, wenn wir ein Dokument in einer MongoDB-Sammlung auswählen. Wir werden dies später in diesem Tutorial sehen.

In diesem Artikel werden wir sehen, wie wir zwei Felder in MongoDB vergleichen können. Außerdem sehen wir ein relevantes Beispiel mit einer Erklärung, um das Thema zu vereinfachen.

Felder in MongoDB vergleichen

Es gibt zwei Techniken, die wir für diesen Zweck verwenden können. Wir werden für beide Techniken die eingebaute Methode find() verwenden, die zum Suchen oder Extrahieren von Dokumenten aus einer MongoDB-Sammlung verwendet wird.

In unserer ersten Technik verwenden wir das Schlüsselwort $where, das hauptsächlich bestimmten Kriterien entspricht. Und in unserer zweiten Technik verwenden wir eine einfache Aggregation mit dem Schlüsselwort $expr, mit dem Sie Aggregationsausdrücke als Argument implementieren können.

Sehen wir uns ein Beispiel an, um es klarer zu machen.

Beispiele für den Vergleich zweier Felder in MongoDB

In unserem Beispiel unten sehen wir, wie wir zwei Felder in MongoDB vergleichen können. Wir vergleichen die Felder sl und id.

Nun, die Befehle für diesen Zweck sind:

Mit dem Schlüsselwort $where:

db.mycolletion.find( { $where : "this.sl < this.id" } );

Mit dem Schlüsselwort $expr:

db.mycolletion.find({$expr:{$lt:["$sl", "$id"]}})

Im obigen Befehl ist $lt ein Vergleichsoperator. Es gibt noch einen anderen Vergleichsoperator, den Sie bei Bedarf verwenden können.

Verfügbare Vergleichsoperatoren in MongoDB

Unten haben wir die verfügbaren Vergleichsoperatoren geteilt, die mit der Aggregation in MongoDB verwendet werden.

  • $eq - Dies repräsentiert den Equal-Operator.
  • $ne - Dies repräsentiert den Ungleich-Operator.
  • $gt - Dies repräsentiert den Größer-als-Operator.
  • $gte – Dies repräsentiert den Operator Größer als oder gleich.
  • $lt - Dies repräsentiert den Kleiner-als-Operator.
  • $lte - Dies repräsentiert den Kleiner-als-gleich-Operator.
  • $in - Dies entspricht allen Werten in einem Array.
  • $nin - Dies stimmt mit keinem der Werte in einem Array überein.

Nun liefern Ihnen beide oben geteilten Befehle das gleiche Ergebnis wie das folgende:

{ _id: ObjectId("6371fd850f19826ee6ca5138"),
  sl: 0,
  Name: 'Alen',
  id: '3'
}

Hinweis: Bitte überprüfen Sie, ob Sie sich in der richtigen Sammlung befinden. Um eine bestimmte Sammlung einzuschalten, verwenden Sie den Befehl use YourDB; Andernfalls erhalten Sie einen Fehler.

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