Ini bukan sebenarnya. Kueri pertama, db.users.find({"user":{"login":"tester"}}); , berarti Anda sedang mencari user yang sama dengan {"login":"tester"} objek sepenuhnya, bukan pengguna dengan login bidang sama dengan tester . Ada satu dokumen yang cocok dengan kriteria tersebut dan dokumen tersebut benar-benar dikembalikan sebagai hasil query.
Demikian juga, kueri kedua, db.users.find({"user":{"name":"anil"}}); , berarti Anda sedang mencari user yang sama dengan {"name":"anil"} objek sepenuhnya. Tidak ada user . Ada satu dokumen yang sebagian cocok dengan kueri Anda, tetapi itu tidak cukup.
Jika Anda mencari user dengan name sama dengan anil , gunakan Notasi Titik untuk mengakses sub-dokumen, seperti yang Anda lakukan di grup kueri kedua.
Ya. ini cara yang benar.