2011-07-20 38 views
13

Trong MongoDB, tôi có thể tìm thấy tất cả các hồ sơ trong một bộ sưu tập trong cơ sở dữ liệu db có chứa một lĩnh vực cụ thể bằng cách sử dụng truy vấn sau đâyTìm tất cả hồ sơ có chứa một trường con được đưa ra trong MongoDB

var doc = db.collection_name.find({field_name:{$exists:true}}) 

Bây giờ xem xét các tài liệu sau đây:

{ 
    "somefield":"someval", 
    "metadata": {"id":"someval", 
       "client_url":"http://www.something.com" 

       } 
} 

Truy vấn để nhận tất cả các bản ghi có trường id trong siêu dữ liệu là gì?

Vui lòng trợ giúp. cảm ơn

Trả lời

25

Bạn có thể sử dụng ký hiệu dấu chấm để tham khảo lĩnh vực phụ tài liệu

var doc = db.collection_name.find({"metadata.id":{$exists:true}}) 
+0

Bạn cũng có thể viết nó như: 'db.collection_name.find ({siêu dữ liệu: {id: {$ tồn tại: true} }}) '. –

Các vấn đề liên quan