2016-09-28 167 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

使用索引编制 –