Điều này không thực sự. Truy vấn đầu tiên, db.users.find({"user":{"login":"tester"}});
, có nghĩa là bạn đang tìm kiếm một user
bằng với {"login":"tester"}
đối tượng hoàn toàn, không phải là người dùng có login
trường bằng với tester
. Có một tài liệu phù hợp với tiêu chí đó và tài liệu đó thực sự được trả về dưới dạng kết quả truy vấn.
Tương tự như vậy, truy vấn thứ hai, db.users.find({"user":{"name":"anil"}});
, có nghĩa là bạn đang tìm kiếm một user
bằng với {"name":"anil"}
đối tượng hoàn toàn. Không có user
nào như vậy . Có một tài liệu khớp với truy vấn của bạn một phần nhưng không đủ.
Nếu bạn đang tìm kiếm một user
với name
bằng anil
, sử dụng Ký hiệu dấu chấm để truy cập tài liệu phụ, như bạn đã làm trong nhóm truy vấn thứ hai của mình.
Đúng. đây là cách chính xác.