MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie finde ich in MongoDB ein eingebettetes Dokument?

Das ist das erwartete Verhalten.

Wenn Sie einzelne Felder eines eingebetteten Dokuments abfragen möchten, müssen Sie die folgende Syntax verwenden - mit dem Punkt (.). ) Notation. Beispielsweise geben diese beiden Abfragen das Dokument zurück:

db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })

In den obigen Abfragen können Sie ein, zwei oder alle Felder und angeben in beliebiger Reihenfolge.

Sie verwenden die folgende Syntax, wenn Sie den Filter für das Ganze angeben Eingebettetes Dokument:

db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })

Beachten Sie in diesem Fall die Reihenfolge der Felder des eingebetteten Dokuments muss mit dem des Originaldokuments übereinstimmen; d.h. SHINee , "Girl's Generation" und BTS (innerhalb des KPOP ). Und Sie müssen all angeben die Felder des eingebetteten Dokuments.