So verwenden Sie dort, wo der Betreiber in MongoDB ist

So verwenden Sie dort, wo der Betreiber in MongoDB ist
MongoDB bietet ein starkes Abfragesystem, das von mehreren Befehlen und Operatoren unterstützt wird. Es gibt eine lange Liste von Betreibern (z. Der $, an dem der Betreiber zur Klasse der Evaluierungsabfrage angehört wird, und kann ausgeübt werden, um eine JavaScript-basierte String- oder JavaScript-Funktion zu übergeben. Der $ wobei der Betreiber in MongoDB verwendet wird, um nur die Dokumente zu erhalten, die JavaScript -Ausdrücken entsprechen.

In diesem deskriptiven Beitrags haben wir einen Einblick in die Verwendung von US.

Wie funktioniert $ dort in MongoDB?

Es ist zu bemerken, dass der $, bei dem der Betreiber im Vergleich zu anderen Standardbetreibern von MongoDB wie $ gt, $ lt, $ in und $ nin selten verwendet wird.

Wie bereits erwähnt, ist der $, bei dem der Betreiber nur für JS-basierte Zeichenfolgen oder seine Funktionen arbeitet, und die Syntax, um $ zu verwenden, wo der Bediener unten erwähnt wird:

$ wo:

Es wird beobachtet, dass $, bei dem der Bediener nicht mit wenigen Standardfunktionen von MongoDB ausgeführt werden kann db. Der $ Where-Operator unterstützt zusammen mit Map-Reduce-Operationen in MongoDB mehrere JavaScript-Funktionen und kann daher nicht weltweit verwendet werden

Wie man $ wo in mongoDB benutzt

Die folgenden Fälle von MongoDB werden in diesem Handbuch verwendet:

Datenbank: Die hier verwendete Datenbank heißt “LinuxHint“.

Sammlungsname: Die Sammlung, die in diesem Artikel ausgeübt wird, heißt benannt. “Noten“.

Und die Dokumente von “NotenDie Sammlung ist unten gezeigt:

> db.Mitarbeiter.finden().hübsch()

Notiz: C1, C2, C3, C4 werden als Kurse -IDs in der obigen Ausgabe angenommen.

Beispiel 1: grundlegende Verwendung von $ where Operator

Bevor Sie sich mit Details befassen, müssen Sie sich daran erinnern, dass die beiden Schlüsselwörter entweder “Das" oder "obj”Werden verwendet, um auf Dokumente in der JS -Funktion oder in JS -Ausdruck zu verweisen.

Bezieht sich auf die Dokumente in “Noten" Sammlung:

Befehl 1: Der unten geschriebene Befehl sucht nach Dokumenten und zeigt nur diejenigen an, die die gleichen Werte in verschiedenen Feldern haben:

Wie Sie überprüfen können, dass die Ausgabe nur enthält “eins"Dokument, wo Werte von"C1" Und "C2" passen.

> db.Noten.find ($ wo: "Dies.C1 == dies.C2 ").hübsch()

Befehl 2: Der gleiche Ausgang (wie in Befehl 1) kann erreicht werden, indem der unten angegebene Befehl in Mongo Shell ausgestellt wird. Hier das "obj'Keyword wird anstelle von "verwendet"Das“.

> db.Noten.find ($ wo: "obj.C1 "==" obj.C2 ").hübsch()

Befehl 3: Sie können den $, an dem Operator wie wir im folgenden Befehl durchgeführt wurden, auch verwenden. Im folgenden Befehl gibt eine Funktion () die Dokumente zurück, die durch Bewerbung erhalten wurden. “obj" Und "Das"Schlüsselwort, der Wert von"C1" Und "C3" Streichhölzer.

> db.Noten.find ($ where: function () return (this this.C1 == dies.C3)).hübsch()

Befehl 4: Die Anwendung von JS Function () mit $, bei dem der Bediener auch mit der „Verwendung der“ erreicht werden kannobj"Schlüsselwort anstelle von"Das“. Dafür können Sie den folgenden Befehl ausführen:

> db.Noten.find ($ where: function () return obj.C1 == obj.C3).hübsch()

Beispiel 2: $ wo wirkt, ohne es in Befehl zu verwenden

Wenn Ihr Befehl nur die Anwendung des $, an dem Operator $ ausführt. Der Beispielbefehl in einer solchen Situation ist unten angegeben:

> db.Noten.finde das.C1 == dies.C2 ").hübsch()

Oder der "obj"Schlüsselwort kann auch anstelle von" verwendet werden "Das”Im obigen Befehl.

> db.Noten.finde ("obj.C1 == obj.C2 ").hübsch()

Beispiel 3: Verwenden Sie $ WO mit Standard -MongoDB -Operatoren

Der $, wo Bediener mit mehreren anderen Operatoren von MongoDB verwendet werden kann. Zum Beispiel haben wir im folgenden Befehl weniger als (<) operator with $ wo Operator. Der unten geschriebene Befehl sucht nach Bedingungen beider Operatoren und dann nach jedem Dokument, das entweder erfüllt ist "==" oder "||"Der Zustand wird im Ausgang angezeigt.

> db.Noten.finde das.pos1 == dies.pos2 || this.Pos1 < this.pos2").pretty()

Es wird beobachtet, dass sie mit dem $ $ arbeiten, in dem der Betreiber im Großteil der Dokumente sucht, zeitaufwändig mit dem $ wo Bediener, weil MongoDB ausgeführt wird $ wo Bediener nach einem anderen Standardbetreiber in der Abfrage verwendet.

Abschluss

MongoDB hat seine Versionen in der Vergangenheit häufig aktualisiert, und der Grund war die Verbesserung der Leistung und Wirksamkeit eines MongoDB -Befehls oder der Methode oder eines Operators. In MongoDB kann der $, bei dem der Bediener verwendet werden kann, um die Felder mit JS -Ausdruck oder JS -Funktion abzustimmen. In diesem detaillierten Leitfaden haben wir die Verwendung des $, in dem der Betreiber in MongoDB verwendet wird. Nach einer detaillierten Forschungs- und Datenerfassung kamen wir so, dass die Alternativen von $ dort bevorzugt werden sollten.