sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag hitta ett dokument som är inbäddat i MongoDB?

Det är det förväntade beteendet.

Om du vill fråga ett inbäddat dokuments individuella fält måste du använda följande syntax - med hjälp av punkten (. ) notation. Till exempel returnerar båda dessa frågor dokumentet:

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

I ovanstående frågor kan du ange ett, två eller alla fälten och i valfri ordning.

Du använder följande syntax när du anger filtret för helheten inbäddat dokument:

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

Observera i det här fallet att ordningen på fälten av det inbäddade dokumentet måste vara samma som originaldokumentet. dvs. SHINee , "Girl's Generation" och BTS (inom KPOP ). Och du måste ange alla fälten i det inbäddade dokumentet.



  1. json.loads och Redis i python 3.5

  2. Hur kvarstår MongoDB - data från en körande Docker-behållare i en ny bild?

  3. Kan jag köra en rå MongoDB-fråga i node-mongodb-native drivrutin?

  4. Ta bort post efter id?