sql >> Database >  >> NoSQL >> MongoDB

mongodb toegang tot subdocumenten

Dit is eigenlijk niet. De eerste zoekopdracht, db.users.find({"user":{"login":"tester"}}); , betekent dat u op zoek bent naar een user dat is gelijk aan {"login":"tester"} object volledig, geen gebruiker met login veld is gelijk aan tester . Er is één document dat overeenkomt met dat criterium en dat document is daadwerkelijk geretourneerd als het zoekresultaat.

Evenzo is de tweede zoekopdracht, db.users.find({"user":{"name":"anil"}}); , betekent dat u op zoek bent naar een user dat is gelijk aan {"name":"anil"} object volledig. Er is niet zo'n user . Er is één document dat gedeeltelijk overeenkomt met uw vraag, maar het is niet genoeg.

Als u op zoek bent naar een user met name is gelijk aan anil , gebruik Puntnotatie om toegang te krijgen tot het subdocument, zoals u deed in uw tweede groep zoekopdrachten.

Ja. dit is de juiste manier.




  1. Behouden arrays die zijn opgeslagen in MongoDB hun volgorde?

  2. Mongoose-schema tijdstempel instellen op genest document

  3. MongoDB - samengestelde groepssleutel met geneste velden

  4. MongoDB - Waarom geeft de _id-index geen foutmelding bij dubbele vermeldingen?