从mongodb文档的JSON数组中获取数组元素

从mongodb文档的JSON数组中获取数组元素,json,mongodb,Json,Mongodb,这是mongodb文档中json格式的示例。 我想从按名称搜索的employees数组中获取一个特定元素的结果 我试过这些方法 { "employees" : [ { "name" : "XXX", "id" : "1", "Salary" : [ { "Month" : "XXXX", "Amount" : "XXXX",

这是mongodb文档中json格式的示例。 我想从按名称搜索的employees数组中获取一个特定元素的结果 我试过这些方法

{
"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",
            }
        ]
    }
],
}

这些都不行。结果,这些方法给出了整个文档。谁能给我一个解决办法。

试试这个

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

嗯。这很有效。你能帮我做索引吗请详细说明你想做什么?使用索引你必须先设置索引db.abc.ensureIndex({“employees.name”:1})。
db.abc.find({ employees: { $elemMatch: { name: "XXX"} } })
db.abc.find({"employees.name": "XXX"},{"employees.$":1})