MongoDB $ min Operator

MongoDB $ min Operator
Wenn Sie kein neuer Benutzer von Datenbanken oder Programmierungen sind, müssen Sie die Programme und Abfragen ausprobiert haben, die die Vergleichsbetreiber verwenden - größer als, weniger als, gleich usw. In MongoDB, wo wir den Operator "$ set" verwenden, um einen bestimmten Felddatensatz zu aktualisieren oder der Datenbank einen neuen Datensatz hinzuzufügen, können wir mit den Vergleichsbetreibern wie "$ min" und "$ max" auch dasselbe Ergebnis erzielen, das gleiche Ergebnis erzielt wird, wie "$ min" und "$ max". In MongoDB kann der Bediener „$ min“ in vielen Funktionsanfragen verwendet werden, um ein bestimmtes Feld zu aktualisieren, wenn ein neuer Wert geringer ist als der bereits eingefügte Wert. Außerdem kann es verwendet werden, um die Aufzeichnungen einer Sammlung in einer bestimmten Reihenfolge zu gruppieren und anzuzeigen. Dieser Leitfaden hilft Ihnen mit unterschiedlichen Möglichkeiten, den „$ min“ -Operator in mongoDB abzugeben.

Beispiel 1:

Beginnend mit der ersten Abbildung zeigen wir die Verwendung des „$ min“ -Operators in mongoDB, um einen bereits eingefügten Datensatz mit dem MongoDB -Shell -Tool im Windows -System zu aktualisieren. Daher müssen Sie einige Datensätze haben, die bereits Ihrer Datenbank hinzugefügt wurden. Daher verwenden wir die Funktion InsertMany () -Funktion, um insgesamt 5 Datensätze in der Sammlung „Order“ einer "Test" -Datenbank hinzuzufügen. Jede der eingefügten Datensätze, die in der folgenden Abbildung angezeigt werden. Diese 5-Rekord-Daten werden erfolgreich gemäß der beigefügten Ausgabe eingefügt:

Test> db.Befehl.InsertMany (["ID": 01, "Titel": "SOAP", "SALPRICE": 500, "Steuer": 24,
… "ID": 02, "Titel": "Shampo", "SAGEPRICE": 700, "Steuer": 27,
… "ID": 03, "Titel": "Waschmittel", "SAGEPRICE": 400, "Steuer": 22,
… "ID": 04, "Titel": "Parfüm", "SALPRICE": 900, "Steuer": 30,
… "ID": 05, "Titel": "Mist", "SALPRICE": 850, "Steuer": 27])

Es ist Zeit, den eingefügten Datensatz in einer "Test" -Datenbank zu betrachten. Dafür müssen Sie die Methode „Find ()“ zusammen mit der Methode „foreach“ abwerfen und die "Printjson" als Argument in der "DB" -Berätigung nehmen. Mit der Sammlung mit dem Namen "Order" haben wir einen Datensatz auf dem Bildschirm angezeigt.

Test> db.Befehl.finden().foreach (printjson)

Es ist höchste Zeit, den Operator "$ min" in der Funktion "updateone" zu verwenden, um einen einzelnen Datensatz aus der gerade erstellten Sammlung "Order" zu aktualisieren. Das Feld „ID“ wird als eindeutige Kennung verwendet, um einen bestimmten Datensatz aus einer Datenbank zu aktualisieren, während der Bediener von „$ min“ auf ein Feld „Salprice“ angewendet wird, um seinen Wert auf 600 zu aktualisieren, wenn er geringer ist als der bereits eingefügte Wert. Die Ausgabenachricht zeigt, dass die Abfrage erfolgreich ist, aber es werden keine Updates durchgeführt.

Test> db.Befehl.updateOne (id: 3, $ min: salprice: 600)

Der Grund, warum kein Update auf das Feld "SAGRICE" des 3. Rekords durchgeführt wird, ist, dass es den Wert von "400" enthält, der weniger als "600" beträgt, enthält. Daher aktualisiert der „$ min“ -Preiber nicht den Mindestwert von „400“ mit einem größeren Wert von „600“ gemäß der folgenden beigefügten Find () -Anfrage:

Test> db.Befehl.finden().foreach (printjson)

Nehmen wir eine kleine Änderung der Update -Abfrage vor, um diesmal eine andere Ausgabe zu erhalten. Wir verwenden denselben "DB" -Bericht, der darin verwendet wird, um die Funktion "updateone" zu verwenden, um einen einzelnen Datensatz von "3" zu ändern, um zu ändern. Der Betreiber „$ min“ wird auf das Feld "SAGRICE" angewendet, um seinen Wert auf "300" festzulegen, wenn der Wert von "300" geringer ist als der bereits eingefügte Wert. Wir wissen, dass der bereits eingefügte Wert von „400“ des SAGRICE -Feldes größer ist als der neue Wert von „300“ zu vergleichen. Also ersetzt es "400" diesmal durch "300". Die Ausgabemeldung zeigt die erfolgreiche Ausführung dieser Abfrage an. Das modifizierte Count = 1 bedeutet, dass 1 Datensatz geändert wird.

Test> db.Befehl.updateOne (id: 3, $ min: salprice: 300)

Nachdem wir die Datenbank in einem JSON -Format über die Funktion „Find ()“ in der MongoDB -Shell aus der Datenbank „Test“ in einem JSON -Format angezeigt haben. Der Wert von 400 des Felds „SAGRICE“ wird durch den Wert von 300 ersetzt.

Test> db.Befehl.finden().foreach (printjson)

Beispiel 2:

Innerhalb dieser MongoDB -Abbildung holen wir die Aufzeichnungen einer bestimmten Datenbank, indem wir sie in Bezug. Angenommen, Sie haben dieselben 5 Datensätze in der Sammlung von MongoDBs "Test" -Datenbank und Sie müssen einige doppelte Daten in den bestimmten Feldern einer "Test" -Datenbank haben. Zu diesem Zeitpunkt fügen wir weitere Datensätze in der Sammlung "Order" der Datenbank "Test" hinzu. Dieses Mal fügen wir die doppelten Werte für das Feld "Titel" ein. Es wird in einer Klausel „$ Group“ verwendet, um eine Gruppe einzigartiger Werte zu bilden. Die folgende Ausgabe zeigt die neu eingefügten 3 weiteren Datensätze für die Datenbank „Test“ an. Die Sammlung "Order" hat nun doppelte Werte für das Feld "Titel" im Vergleich zu den 5 alten Datensätzen. Der Rest verwendet dasselbe.

Nachdem die Sammlung „Test“ der "Test" -Datenbank insgesamt 8 Datensätze aufgenommen haben, ist es an der Zeit, den $ min -Betreiber von MongoDB nach seiner Anwendung auf einem bestimmten Feld zu testen, das von einem anderen Feld gruppiert wird. Der angeschlossene Gesamtbefehl dreht sich alles darum. Es beginnt mit dem Schlüsselwort „DB“, gefolgt vom Namen einer Sammlung in einer bestimmten Datenbank und der Aggregate () -Funktion. Die Aggregatfunktion beginnt mit der Verwendung der $ Group -Klausel von MongoDB, die hier speziell verwendet wird.

Gleichzeitig wird das Preisfeld separat initialisiert, wodurch nur der Mindestwertdatensatz aus den gleichen Datensätzen über den darauf angewandten „$ min“ -Betreiber verwendet wird. Die Ausgabe dieser Abfrageausführung zeigt die Anzeige von 5 Datensätzen mit etwas Aktualisierung im Preisabschnitt. Sie können sehen, dass keine sich wiederholenden Datensätze angezeigt werden. Einige einzigartige und kleinste Werteaufzeichnungen werden hier angezeigt.

Test> db.Befehl.Aggregate ([$ Group: _id: "$ title", Preis: $ min: "$ salprice"])

Abschluss

Diese Anleitung ist eine Sammlung von MongoDB. Der Einführungsabsatz wird verwendet, um den Zweck seiner Verwendung in MongoDB zu diskutieren. In dem ersten Teil dieses Artikels wird erläutert, wie der „$ min“ -Preiber funktioniert und nicht für einen einzelnen Datensatz in einer Datenbank funktioniert, ich.e. Um einen Datensatz als Mindestwert zu aktualisieren oder einzufügen. Außerdem zeigen die letzten Beispiele die Verwendung, um den Sammelsatz in der gesamten Datenbank als eindeutig zu gruppieren.