MongoDB $ gt $ gte $ lt $ LTE -Betreiber

MongoDB $ gt $ gte $ lt $ LTE -Betreiber

MongoDB unterstützt eine Vielzahl von Abfragebetreibern für die Suche und Filterdokumente in einer Sammlung. Die Operatoren „GT“, „GTE“, „LT“ und „LTE“ werden verwendet, um Vergleichsanfragen auf Feldern durchzuführen. Der Operator „GT“ (größer als) gibt Dokumente zurück, in denen das angegebene Feld größer ist als der angegebene Wert, während der Operator „GTE“ (größer oder gleich) Dokumente zurückgibt, in denen das angegebene Feld größer oder gleich dem angegebenen Wert ist. Andererseits gibt der „LT“ (weniger als) Bediener Dokumente zurück, in denen das angegebene Feld geringer ist als der angegeben zum angegebenen Wert. Es gibt kaum einen Unterschied in all diesen Operatoren, aber die Methode, sie in MongoDB zu verwenden, ist ziemlich ähnlich. Lassen Sie uns dies in diesem Leitfaden besprechen.

Sagen wir, Sie haben alle neu eingefügten Datensätze der "Dummy" -Kollektion in Ihrer aktuell verwendeten Datenbank, die insgesamt 5 Datensätze mit einzigartigen Feldern "_id", "City" und "Count" enthält.

Test> db.Dummy.finden()
[
_id: ObjectID ("63c8a1f94ff07039aa6cdf6b"), Stadt: 'Texas', Graf: 5,
_id: ObjectID ("63c8a1f94ff07039aa6cdf6c"), Stadt: 'Los Angeles', Graf: 2,
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6d"), Stadt: 'Italien', Graf: NULL,
_id: ObjectID ("63c8a1f94ff07039aa6cdf6e"), Stadt: 'Istanbul', Graf: 8,
_id: ObjectID ("63c8a1f94ff07039aa6cdf6f"), Stadt: 'Delhi', Graf: 7
]

Beispiel # 01: $ gt operator

Der „GT“ -Preiber wird verwendet, um den Wert eines bestimmten Feldes in einer Sammlung für einen einzelnen Datensatz festzulegen oder zu aktualisieren. Zu diesem Zweck müssen Sie die Funktion "UpdateOne" von MongoDB mit dem "GT" -Preiber für ein bestimmtes Feld ausführen. In unserem Fall haben wir die Aktualisierung nur auf Aufzeichnungen mit größerem Wert "3" in ihrem Feld "Count" angewendet. Der „Set“ -Preiber wird verwendet, um ein neues "Desc" -Feld mit dem Wert "größte Stadt der Welt" für all diese Aufzeichnungen mit einem "Count" -Werwert von größer als "3" hinzuzufügen. Es wurden nur 1 Datensatz aktualisiert, da wir die Anweisung "UpdateOne" ausprobiert haben.

Test> db.Dummy.updateone ("count": $ gt: 3, $ set: "Desc": "Größte Stadt der Welt")

Anerkannt: wahr,
Eingeklagte: NULL,
MatchedCount: 1,
ModifiedCount: 1,
UpsertedCount: 0

Der erste Datensatz der "Dummy" -Kollektion wurde nur gemäß der Ausführungsergebnis der Funktion „Find“ aktualisiert. Das Feld "Desc" wird mit dem Stadtnamen "Texas" zum Rekord hinzugefügt.

Test> db.Dummy.find (count: $ gt: 3)
[
_id: objectId ("63c8a1f94ff07039aaa6cdf6b"), Stadt: 'Texas', Graf: 5, Desc: 'größte Stadt der Welt',
_id: ObjectID ("63c8a1f94ff07039aa6cdf6e"), Stadt: 'Istanbul', Graf: 8,
_id: ObjectID ("63c8a1f94ff07039aa6cdf6f"), Stadt: 'Delhi', Graf: 7
]

Verwenden wir die Funktion updatemany () anstelle von updateOne (), um alle Datensätze der "Dummy" -Kollektion mit den Feldwerten "Count" zu aktualisieren, die größer als "3" sind. Der folgende Befehl wurde zu diesem Zweck verwendet und wir haben die Bestätigung.

Test> db.Dummy.updatemany (count: $ gt: 3, $ set: "desc": "größte Stadt der Welt")

Anerkannt: wahr,
Eingeklagte: NULL,
MatchedCount: 3,
ModifiedCount: 2,
UpsertedCount: 0

Nach dem Ausführen der Funktion "Find" -Funktion wurde nun wieder mit dem "GT" -Operator auf das Feld "Count" festgelegt, in dem der Wert größer als "3" ist. Alle 3 Aufzeichnungen mit einem "Count" -Werwert, der größer als "3" ist, haben jetzt auch das "Desc" -Feld.

Test> db.Dummy.find (count: $ gt: 3)
[
_id: objectId ("63c8a1f94ff07039aaa6cdf6b"), Stadt: 'Texas', Graf: 5, Desc: 'größte Stadt der Welt',
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6e"), Stadt: 'Istanbul', Graf: 8, Desc: 'größte Stadt der Welt',
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6f"), Stadt: 'Delhi', Graf: 7, Desc: 'größte Stadt der Welt',
]

Beispiel # 02: $ gte operator

In diesem Beispiel werden wir die Verwendung des GTE -Operators von MongoDB diskutieren: größer oder gleich. Es wird verwendet, um die Datensätze zu durchsuchen oder zu aktualisieren, die einem bestimmten Wert größer oder gleich sind. Die Funktion updatemany () wird verwendet, um viele Dokumente in einer MongoDB -Sammlung namens "Dummy" zu aktualisieren, wobei der Wert des Felds "Count" größer als oder gleich 4 ist. Die Anzahl ist größer als "4". Der "Set" -Preiber setzt den Wert des Felds "Count" für alle übereinstimmenden Dokumente auf 2. Das Update wurde sehr reibungslos durchgeführt.

Test> db.Dummy.updatemany (count: $ gte: 4, $ set: "count": 2)

Anerkannt: wahr,
Eingeklagte: NULL,
MatchedCount: 3,
ModifiedCount: 3,
UpsertedCount: 0

Nachdem wir die aktualisierten Datensätze der Kollektion „Dummy“ mit der Funktion „Find“ angezeigt haben, haben wir das Ergebnis unten. Es zeigt, dass alle Datensätze jetzt den Wert "2" im Feld "Count" haben, mit Ausnahme des Datensatzes "3", in dem die Anzahl bereits null ist und die Bedingung "GTE" -Operator i nicht erfüllt.e. Wie die obige Abfrage illustriert hat.

Test> db.Dummy.finden()
[
_id: ObjectID ("63C8A1F94FF07039AAA6CDF6B"), City: 'Texas', Graf: 2, Desc: 'größte Stadt der Welt',
_id: ObjectID ("63c8a1f94ff07039aa6cdf6c"), Stadt: 'Los Angeles', Graf: 2,
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6d"), Stadt: 'Italien', Graf: NULL,
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6e"), Stadt: 'Istanbul', Graf: 2, Desc: 'größte Stadt der Welt',
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6f"), Stadt: 'Delhi', Graf: 2, Desc: 'größte Stadt der Welt'
]

Beispiel # 03: $ lt operator

Dieses Mal werden wir den „LT“ -Preiber von MongoDB verwenden, um Datensätze zu aktualisieren. Der Befehl unten aktualisiert viele Dokumente in MongoDB mit der Funktion updatemany () erneut, wobei der Wert des Feldes „Count“ weniger als 4 beträgt. Der „Set“ -Portler legt den Wert des Felds „Count“ auf 3 und den Wert des "Desc" -Feldes für alle übereinstimmenden Dokumente auf "mittelgroste Stadt" fest. Die Bestätigung zeigt, dass insgesamt 4 Datensätze aktualisiert werden und die 1, die unverändert bleibt.

Test> db.Dummy.updatemany (count: $ lt: 4, $ set: "count": 3, "desc": "mittelgroße Stadt")

Anerkannt: wahr,
Eingeklagte: NULL,
MatchedCount: 4,
ModifiedCount: 4,
UpsertedCount: 0

Nachdem die Datensätze der "Dummy" -Kollektion gesucht haben, in der das Feld des Grafen über den "LT" -Preiber über "4" weniger als "4" enthält, wird die 4 Datensätze zurückgegeben, die alle auf "3" und des Feldes "Desc" festgelegt haben. "Auf" mittelgroße Stadt "wie folgt eingestellt:

Test> db.Dummy.find (count: $ lt: 4)
[_id: ObjectID ("63c8a1f94ff07039aa6cdf6b"), City: 'Texas', Graf: 3, Desc: 'Midgröße City',
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6c"), Stadt: 'Los Angeles', Graf: 3, Desc: 'Midgröße City',
_id: ObjectID ("63c8a1f94ff07039aaa6cdf6e"), City: 'Istanbul', Graf: 3, Desc: 'Midgröße City', _id: objectId ("63c8a1f94ff07039aa6cdf6f"), City: City: 'Delhi, 3, 3, 3, 3, Desc: 'mittelgroße Stadt']

Beispiel # 04: $ lte Bediener

Ab der unten beigefügten Abfrage haben wir die Funktion „updatemany“ mit dem Filter count: $ lte: null ausprobiert. Es entspricht allen Dokumenten, in denen der Wert des Felds „Count“ geringer oder gleich Null ist. In unserem Fall gibt es nur einen Datensatz mit einem "Null" -Wert im Feld "Zählung".Im zweiten Argument setzt der „Set“ -Preiber den Wert des Felds „Count“ auf 10 und den Wert des "Desc" -Feldes für alle übereinstimmenden Dokumente auf "am schönsten und überfüllt". Der folgende Befehl aktualisiert einen einzelnen Datensatz in einer "Dummy" -Kollektion, wobei der Wert des Felds "Count" kleiner als oder gleich Null ist.

Test> db.Dummy.updatemany (count: $ lte: null, $ set: "count": 10, "Desc": "Am schönsten und überfüllt")

Anerkannt: wahr,
Eingeklagte: NULL,
MatchedCount: 1,
ModifiedCount: 1,
UpsertedCount: 0

Wenn Sie nach dem Datensatz mit einem Feld "Count" -Felder größer als "8" suchen.

Test> db.Dummy.find (count: $ gt: 8)
[_id: ObjectID ("63c8a1f94ff07039aa6cdf6d"), Stadt: 'Italien', Graf: 10, Desc: 'am schönsten und überfüllt']

Abschluss

Dieser Artikel deckt die Details des Zwecks der Verwendung der Operatoren GT, GTE, LT und LTE in MongoDB ab. Das erste Beispiel deckt den „GT“ -Preiber und der zweite den „GTE“ -Preiber mit Hilfe von MongoDB -Anweisungen ab. Während die letzten beiden Abbildungen die Verwendung der Operatoren „LT“ und „LTE“ mit Hilfe der Funktion updatemany () und des „Set“ -Portlers detailliert abdecken.