Operatorsyntax
Der folgende Ausdruck definiert die für den $ im Operator verwendete Syntax:
Feld: $ in: [,,…]Der Bediener vergleicht jeden Parameter mit allen Dokumenten in der angegebenen Sammlung. Es ist wichtig, darauf zu achten, wie dieser Bediener angewendet wird, da er zu Leistungshits führen kann.
MongoDB empfiehlt, die Anzahl der zu scannten Parameter zu begrenzen, um erhebliche Leistungsprobleme zu vermeiden.
Sie können auch andere Funktionen wie Indizes verwenden, um MongoDB bei der Anwendung des $ im Bediener in einer großen Sammlung zu unterstützen.
Praktisches Beispiel
Nehmen wir eine Sammlung mit Real World -Werten, um zu veranschaulichen, wie dieser Bediener verwendet wird. Betrachten Sie die nachstehend gezeigte Stichprobensammlung:
db.CreateCollection ("Shop")Die obige Abfrage erstellt eine Sammlung „Shop“ und fügen Sie Beispieldaten hinzu. Lassen Sie uns nun untersuchen, wie wir den $ im Bediener in einem solchen Dokument verwenden können.
Verwenden des $ im Operator, um passende Dokumente zu finden
Das folgende Beispiel verwendet den $ im Bediener, um alle Dokumente zu finden, in denen die Kategorie entweder "Apple" oder "Samsung" ist.
db.Geschäft.find (Kategorie: $ in: ["Apple", "Samsung"])In diesem Fall sollte die Abfrage die Dokumente nur mit den Werten „Apple“ oder „Samsung“ im Kategorie -Array zurückgeben.
Ein Beispielausgang ist wie gezeigt:
Verwenden des $ im Bedieners zum Aktualisieren von Dokumenten, die einem bestimmten Zustand entsprechen
Wir können den $ im Bediener auch verwenden, um ein Sammel -Update mit updateOne () oder updatemany () Methoden durchzuführen.
Angenommen, dem Shop hat die Apple -Geräte ausgegangen, und wir möchten die Dokumente in einer einzigen Abfrage aktualisieren. Wir können eine Anfrage wie gezeigt ausführen:
db.Geschäft.updatemany (Kategorie: $ in: ["Apple"],Die obige Abfrage aktualisiert die Dokumente, in denen die Kategorie „Apple“ entspricht, und der verfügbare Status für false.
Das resultierende Dokument sollte wie gezeigt aussehen:
Wir können sehen, dass jeder Apple -Eintrag ein verfügbares Feld mit dem auf False festgelegten Wert enthält.
Abschluss
In diesem Beitrag haben wir den $ im Bediener in MongoDB -Datenbanken untersucht. Mit diesem Bediener können wir Dokumente auswählen, deren Feldwert mit einem bestimmten Wertesatz in einem Array übereinstimmt.
Danke fürs Lesen!!