Dette er faktisk ikke. Den første forespørgsel, db.users.find({"user":{"login":"tester"}});
, betyder, at du leder efter en user
der er lig med {"login":"tester"}
objekt fuldstændigt, ikke en bruger med login
felt er lig med tester
. Der er et dokument, der matcher disse kriterier, og det dokument returneres faktisk som forespørgselsresultatet.
Ligeledes den anden forespørgsel, db.users.find({"user":{"name":"anil"}});
, betyder, at du leder efter en user
der er lig med {"name":"anil"}
objekt fuldstændigt. Der er ingen sådan user
. Der er et dokument, der matcher din forespørgsel delvist, men det er ikke nok.
Hvis du leder efter en user
med name
er lig med anil
, brug Priknotation for at få adgang til underdokumentet, som du gjorde i din anden gruppe af forespørgsler.
Ja. dette er den rigtige måde.