Verschachteltes MongoDB-Abfrageobjekt

Shraddha Paghdar 20 Juni 2023
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-Option

    Sie 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-Option

    Mit 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 Paghdar avatar Shraddha Paghdar avatar

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.

LinkedIn

Verwandter Artikel - MongoDB Query