2013-09-27 48 views
5

Có thể truy vấn mongodb để trả về mảng các giá trị id tài liệu phù hợp, không có các khóa liên quan không?mongodb: trả về một mảng các id tài liệu

Vui lòng xem xét sau 'mẹ' dữ liệu structur:

{ 
    "_id": ObjectId("52448e4697fb2b775cb5c3a7"), 
    "name": "Peter", 
    "children": [ 
    { 
     "name": "joe" 
    } 
    ] 
}, 
{ 
    "_id": ObjectId("52448e4697fb2b775cb5c3b6"), 
    "name": "Marry", 
    "children": [ 
    { 
     "name": "joe" 
    } 
    ] 
} 

tôi sẽ để truy vấn cho một mảng của _ids cha mẹ có con có cái tên "joe"

Đối với dữ liệu mẫu được cung cấp, tôi muốn đầu ra sau trở về từ Mông Cổ:

[ObjectId("52448e4697fb2b775cb5c3a7"), ObjectId("52448e4697fb2b775cb5c3b6")] 

tôi biết rằng tôi có thể truy vấn cho một đầu ra như thế này, mà còn chứa các phím

0.123.
[{"_id": ObjectId("52448e4697fb2b775cb5c3a7")}, {"_id": ObjectId("52448e4697fb2b775cb5c3b6")}] 

Tuy nhiên tôi cần phải đẩy trên mảng đến một tài liệu với một thao tác cập nhật như thế này:

db.statistic.update({"date": today}, {$push: {"children": [ObjectId("52448e4697fb2b775cb5c3a7"), ObjectId("52448e4697fb2b775cb5c3b6")]}}, true, false) 

Tôi muốn tránh phân loại ra các cấu trúc tài liệu, trong trường hợp nó có thể chỉ trả lại một mảng chứa các giá trị thích hợp sử dụng Mongo

Trả lời

15

Nó phải là có thể bằng cách

db.coll.distinct("_id", {"children.name": "joe"}) 
Các vấn đề liên quan