2016-09-28 129 views
3
{ 
"employees" : [ 
    { 
     "name" : "XXX", 
     "id" : "1", 
     "Salary" : [ 
      { 
       "Month" : "XXXX", 
       "Amount" : "XXXX", 
      }, 
      { 
       "Month" : "XXXX", 
       "Amount" : "XXXX", 
      }, 
      { 
       "Month" : "XXXX", 
       "Amount" : "XXXX", 
      } 
     ] 
    }, 
    { 
     "name" : "YYY", 
     "id" : "2", 
     "Salary" : [ 
      { 
       "Month" : "YYYY", 
       "Amount" : "YYYY", 
      }, 
      { 
       "Month" : "YYYY", 
       "Amount" : "YYYY", 
      }, 
      { 
       "Month" : "YYYY", 
       "Amount" : "YYYY", 
      } 
     ] 
    } 
], 
} 

這是mongodb文檔中json格式的示例。 我想要得到的結果作爲員工從陣列通過名字 搜索我嘗試這些方法從MongoDB文件中獲取JSON數組的數組元素

db.abc.find({"employees.name": "XXX"},{employees: {$elemMatch: {name: "XXX"}}}); 

db.abc.find({ employees: { $elemMatch: { name: "XXX"} } }) 

這些都不是行不通的一個特定元素。這些方法給出了整個文檔。任何人都可以給我一個解決方案。

回答

1

試試這個

db.abc.find({"employees.name": "XXX"},{"employees.$":1}) 
+0

Yh的。這樣可行。你能幫我做這個索引 –

+0

請詳細說明你想做什麼? –

+0

使用索引編制 –