2012-08-31 68 views
2

這裏是我的MongoDB的文件:的MongoDB從查找查詢檢索數組值

{ "FRIENDS" : [  
    { "LOC" : "13.039064033333332,77.5547927", "NAME" : "A1", "PHONE_NUMBER" : "817361155" } ], 
"MYID" : "349512956", 
"MYLOCATION" : "13.0389541,77.5549799", 
"OCCASION" : "cafe", 
"_id" : ObjectId("503d87150f43159357000001"), 
"average" : "13.0389541,77.5549799" } 

這裏是我的查詢

> db.test_collection.find({"MYID":"349512956"},{"FRIENDS.PHONE_NUMBER":"817361155"}); 

和輸出

{ "FRIENDS" : [ { "PHONE_NUMBER" : "817361155" } ], "_id" : ObjectId("503d87150f43159357000001") } 

不過,我想整個的朋友文件包含在結果中。 LOC,NAME,PHONE_NUMBER。我如何獲得這些?任何幫助將不勝感激。我正在搜索monogo文檔,但無法找到我的答案。

回答

3

試試這個

// i.e., select * from things where MYID=somethig and PHONE_NUMBER="foo" 
db.test_collection.find({"MYID":"349512956", "FRIENDS.PHONE_NUMBER":"817361155"}); 
+0

哈,剛剛改了括號:)。謝謝@Bob –

+0

很樂意幫忙。 :) – Bob

0

更具體地講,第二個參數選擇希望輸出的領域。看到下面的實際執行情況:

> db.test_collection.find 
function (query, fields, limit, skip, batchSize, options) { 
    return new DBQuery(this._mongo, this._db, this, this._fullName, 
      this._massageObject(query), fields, limit, skip, batchSize, options || 
      this.getQueryOptions()); 
}