Verschachteltes MongoDB-Abfrageobjekt
Im heutigen Tutorial lernen wir, wie man verschachtelte Objekte in MongoDB abfragt.
Fragen Sie verschachtelte Objekte in MongoDB ab
MongoDB bietet Lesevorgänge, um eingebettete oder verschachtelte Daten aus einer Sammlung abzurufen oder nach eingebetteten oder verschachtelten Dokumenten zu suchen.
Mit Hilfe der Methode db.collection.find()
können wir Leseoperationen durchführen. Diese Methode wählt ein Dokument aus der eingebetteten oder verschachtelten Sammlung aus und bringt den Cursor dann zu diesem Dokument zurück.
Syntax:
>db.collection.find($filter, $projection)
Wir haben zwei Optionen in der find()
-Methode: $filter
und $project
, die unten kurz beschrieben werden.
-
$filter
-OptionSie können einen Parameter vom Typ
Dokument
verwenden, um Dokumente auszuschließen. Außerdem können Sie es mit einem leeren Dokument oder ohne diese Parameter verwenden, wenn Sie auf jedes Dokument in der Sammlung zugreifen möchten. -
$project
-OptionMit diesem Argument können wir nur bestimmte Felder, die dem angegebenen Abfragefilter entsprechen, in die Dokumente bekommen. Sie können diesen Parameter aber natürlich auch weglassen, wenn Sie alle Felder des Dokuments erhalten möchten.
Diese Methode gibt einen Cursor zu den Dokumenten zurück, die den angegebenen Abfragekriterien entsprechen. Die Methode find()
gibt den Zeiger auf die Dokumente zurück, wenn Sie sie verwenden, da sie Dokumente zurückgibt, wenn Sie sie verwenden.
Sie können hier mehr über die Methode find()
lesen. Lassen Sie uns das folgende Beispiel verwenden, um das Konzept zu verstehen:
> db.users.find({address: {country: "United Kingdom"}}).pretty()
> db.users.find({address.country: "United Kingdom"}).pretty()
Der obige Beispielcode verwendete eine hübsche Technik, um alle Benutzer
, die aus dem Vereinigten Königreich
stammen, zu lokalisieren.
Der Hauptunterschied zwischen diesen beiden Ansätzen besteht darin, dass die frühere Prüfung auf Adressen nur das Feld { Land: ... }
enthält und letztere die Adresse
berücksichtigt.
Andere Felder im Feld Adresse
oder fehlende Felder bei Adresse
haben keinen Einfluss auf das Feld Land
. Beispielsweise sehen Sie die folgende Ausgabe, nachdem Sie den obigen Code in MongoShell
ausgeführt haben.
Ausgang:
{ "_id" : ObjectId("54f612b6029b47909a90cesd"), "email" : "johndoe@example.com", "comment" : "This is the first user in the collection.", "country" : "United Kingdom" }
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedInVerwandter Artikel - MongoDB Query
- Abfrage mit mehreren Bedingungen in MongoDB
- Abfrage mit Zeichenfolgenlänge in MongoDB
- Abfrage nach Dokumenten mit einer Array-Größe größer als 1 in MongoDB
- Abfragen ohne Berücksichtigung der Groß-/Kleinschreibung in MongoDB
- Alle Abfragen in MongoDB protokollieren
- Datumsabfrage mit ISODate in MongoDB