2013-05-14 47 views
-1

我在mongo數據庫中有以下json結構。從JSON查詢相應的密鑰

{ 
"branch": [ 
    { 
    "section": [ 
     { 
      "sub": "edc", 
      "time": "one hour", 
      "frequency": "3" 
     }, 
     { 
      "sub": "bee", 
      "time": "two hours", 
      "frequency": "4" 
     } 
    ] 
}, 
{ 
    "section": [ 
     { 
      "sub": "ss", 
      "time": "one hour", 
      "frequency": "2" 
     }, 
     { 
      "sub": "ms", 
      "time": "two hours", 
      "frequency": "5" 
     } 
    ] 
} 
] 
} 

我想執行一個查詢,使得我要像

edc 
bee 
ss 
ms 
+0

提示:如果你沒有使用一個問號,你可能沒有問一個問題... – nnnnnn 2013-05-14 10:56:13

+0

嘗試'jsonpath'庫 – kirilloid 2013-05-14 11:15:37

回答

1
輸出僅返回以下關鍵

branch.section.sub

值的查詢之後

使用projection找到:

db.mycollection.find({}, {"branch.section.sub":1}) 
0

同意RickyA - 但你可能要取消從結果_id:

此外,如果你只是想輸出是字段的值,你可以使用forEach功能,打印嘗試 - 是這樣的:

db.test.find({}, 
       {"branch.section.sub":1, _id: 0} 
      ).forEach(function (x) { 
             for (i = 0; i < x.branch.length; i++) { 
              section = x.branch[i].section; 
              for (j = 0; j < section.length; j++) { 
               print(section[j].sub);  
              } 
             } 
            })