sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan kan jeg finde et dokument, der er indlejret i MongoDB?

Det er den forventede adfærd.

Hvis du vil forespørge på et indlejret dokuments individuelle felt(er), skal du bruge følgende syntaks - ved hjælp af prikken (. ) notation. For eksempel returnerer begge disse forespørgsler dokumentet:

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

I ovenstående forespørgsler kan du angive et, to eller alle felterne og i vilkårlig rækkefølge.

Du bruger følgende syntaks, når du angiver filteret for hele indlejret dokument:

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

I dette tilfælde skal du bemærke, at rækkefølgen af ​​felterne af det indlejrede dokument skal være det samme som det originale dokument; dvs. SHINee , "Girl's Generation" og BTS (inden for KPOP ). Og du skal angive alle felterne i det indlejrede dokument.



  1. Hvordan kan man omgå manglen på transaktioner i MongoDB?

  2. Forsøger at starte redis og resque scheduler inden for en rake-opgave

  3. MongoDB :Indekser rækkefølge og forespørgselsrækkefølge skal matche?

  4. Forbedre MongoDB aggregeringsstruktur