Sammlung erstellen
Erstens werden wir die in unserer Datenbank verfügbare Sammlung überprüfen. Daher wurde die MongoDB -Shell perfekt gestartet, nachdem sie sich mit ihrer Verbindungszeichenfolge verband. Die MongoDB -Anweisung „Show Collections“ wurde ausgeführt, um alle Sammlungen anzuzeigen, die wir haben. Dieser Befehl gibt nichts in der Shell zurück, da in unserer „Test“ -Datenbank keine Sammlungen wie unten enthalten. Daher müssen wir zuerst eine neue Sammlung erstellen und dann anfangen, daran zu arbeiten.
Test> Sammlungen anzeigenUm eine neue Datenerfassung in der MongoDB -Datenbank hinzuzufügen oder zu erstellen. Die CreateCollection -Methode wurde speziell entwickelt, um neue Sammlungen zu erstellen, die den Namen einer Sammlung in ihrem Argument erstellt werden,. In der folgenden Anweisung haben wir die Sammlung als "Test" bezeichnet. Die Ausgabe des Befehls gibt den Erfolgsstatus zurück: 0 für Misserfolg und 1 für den Erfolg. Der folgende Befehl gibt 1 zurück, was bedeutet, dass der Befehl erfolgreich war und die Sammlung erstellt wurde.
Test> db.CreateCollection ("Test")Datensätze einfügen
Nachdem die Datenbank eine neue Sammlung hinzugefügt hat, müssen Daten Datensätze hinzugefügt werden, da die Sammlung möglicherweise zum Zeitpunkt der Erstellung leer ist. Nach der Verwendung der InsertMany -Funktion von MongoDB in der Anweisung „DB“ haben wir daher 5 Dokumente zur gleichzeitig "Test" -Kollektion hinzugefügt. Die Funktion InsertMany () ist spezifisch zum Einfügen mehrerer Datensätze gleichzeitig. Alle 5 Aufzeichnungen enthalten insgesamt 3 Felder: Titel, Stadt und Gebiet. Das Feld "Titel" ist aus "String" -Typ, das Bereich des Gebiets hat ganzzahlige Typ und das Feld der Stadt befindet sich im String-Array, das Stringelemente enthält. Die Ausgabe dieser Anweisung zeigt die Bestätigung an, indem die eingefügten IDs jedes Dokuments angezeigt werden, das von der MongoDB -Datenbank getrennt zugewiesen wird.
Test> db.Prüfen.InsertMany ([Titel: "USA", City: ["Newyork", "Chicago", "Boston"], Gebiet: 234567,Datensätze anzeigen
Nach dem Einfügen aller Datensätze in der "Test" -Sammlung der "Test" -Datenbank von MongoDB sind wir bereit, uns alle gleichzeitig anzusehen, um die Einfügung zu überprüfen. Somit kann die „Find“ -Funktion von MongoDB in der Anweisung „DB“ für diesen Zweck abgegeben werden. Verwenden Sie den Namen einer Sammlung zwischen dem Schlüsselwort „DB“ und der Funktion find (). Die Parameter der Funktion „Finden“ müssen die leeren lockigen Klammern enthalten, ohne einen Feldnamen anzugeben. Die leeren Klammern erwägen, alle Datensätze aus der Sammlung mit allen Datenfeldern abzurufen, während ein oder mehrere Felder angegeben werden, die zu einer einzigen oder nur angegebenen Datensatzanzeige auf der Shell führen. Daher zeigte die Ausgabe für diese Anweisung mit den leeren lockigen Klammern in der Funktion "Find () alle 5 Datensätze der" Test "-Kollektion mit jeweils alle 3 Felder: dem Titel, der Stadt und des Gebiets. Außerdem kann jeder Datensatz unter Verwendung des von der MongoDB -Datenbank zugewiesenen Felds „_id“ getrennt von einem anderen identifiziert werden.
Test> db.Prüfen.finden()Beispiel # 01:
Nachdem wir nun mit der Einfügung und Anzeige der Datensätze aus der Sammlung „Test“ fertig sind, sind wir endlich bereit, die benutzerdefinierte Funktion $ function so anzuwenden, um anpassbare Vorgänge auf den Feldern auszuführen. Zum Beispiel möchten Sie in der Sammlung „Test“ ein neues Laufzeitfeld erstellen, das Details über das Land, seine Städte und den Bereich enthält, den es in einem einzigen Satz enthält. Zu diesem Zweck müssen wir alle drei Felder der "Test" -Kollektion innerhalb des nachstehend gezeigten benutzerdefinierten $ -Funktionsbetreibers verwenden. Die benutzerdefinierte Funktion nimmt alle drei Felder der „Test“ -Kollektion in Parametern auf, um ein neues Feld „Detail“ zu erstellen. Die Rückgabeanweisung hat diese drei Felder verwendet, um einen Satz zu erstellen und ihn auf der Shell anzuzeigen. Es ist notwendig, die Sammelfelder als "Argumente" und die Sprache zu "JS" festzulegen. Die Ausgabe zeigt ein neues Laufzeitfeld „Detail“ an, das genaue Informationen in einem Satz liefert.
Test> db.Prüfen.Aggregate ([$ addfields: detail: $ function: body: function (title, city, area) return '$ title hat $ city Städte mit $ aa Bereich…', Argumente: ["$ title", "$ city", "$ rea"], Lang: "js"])Beispiel # 02:
Schauen wir uns eine weitere Illustration an, um die benutzerdefinierte $ -Funktion in MongoDB zu verwenden. Hier verwenden wir den $ addfields -Operator, gefolgt vom Namen eines Feldes „Area -Tripled“, den wir mit dem $ -Funktion Operator erstellen möchten. Die benutzerdefinierte Funktion nimmt 1 Feld „Bereich“ als Argument und das Schlüsselwort „Let“ ermöglicht es uns, eine variable "Triple" zu deklarieren, die einen Wert als "Bereich" -Feldwert multipliziert mit 3 nimmt. Die Return -Anweisung wird zurückgegeben und das in der dreifache Variablen berechnete Ergebnis angezeigt. Daher zeigt die Ausgabe der nachstehenden Anweisungen insgesamt 5 Felder für jedes Dokument des Testfeldes an. Das Feld „Area -Triplled“ wurde durch die Verwendung einer benutzerdefinierten Funktion erzeugt, die den Bereich für alle drei Städte im Feld „Stadt“ jedes Dokuments durch Multiplizieren des Feldwerts der Fläche mit 3 zeigt.
Test> db.Prüfen.Aggregate ([$ addfields: aaaTripled: $ function: body: function (area) let triple = area*3; return '$ triple', args: ["$ area"], Lang: " JS "])Abschluss
Der Artikel befasst sich mit den benutzerdefinierten Funktionen in MongoDB und zeigt, wie eine MongoDB. Danach haben wir die Sammlung erstellt und Datensätze eingefügt, bevor wir den benutzerdefinierten $ -Funktion Operator verwenden. Nach dem Einstellen der Umgebung haben wir zwei Beispiele verwendet, um die Verwendung der benutzerdefinierten $ -Funktion zu veranschaulichen. Die Beispiele deckten die Verwendung eines benutzerdefinierten $ -Funktion Operator, um ein neues Datenfeld mit Hilfe bereits eingefügter Felder der Sammlung zu erstellen und über die Verwendung der Variablenerklärung durch die Verwendung des Schlüsselworts „LET“ auch Berechnungen durchzuführen.