0

我有一个像下面提到的 mongoDB 记录-

{  
    "d": { 
        "education": [ 
            { 
                "school": { "name": "one", "id": "1" } 
            }, 
            { 
                "school": { "name" : "two", "id" : "2" } 
            } 
        ] 
    } 
}

现在我正在运行一个 mongo 查询来获取我记录中的所有学校名称,就像这样 -

db.test.find({},{"d.education.0.school.name":"1"})

但结果不是我想要的,它是空的-

{ 
    "_id": ObjectId("5722385b964f6cb39d49f875"), 
    "d" : { "education" : [ {  }, {  } ] } 
}

我希望得到这样的结果-

{ 
    "_id": ObjectId("5087c96338aeb0538a832574"), 
    "d": { 
        "education": [ 
            { 
                "school": { "name" : "one" } 
            } 
        ] 
    } 
}

学校数组的第一条记录中的学校名称。请帮忙!

4

1 回答 1

0

尝试这个:

db.test.aggregate([{"$project":
{"d.education.school.name":true}},
{$unwind:"$d.education.school"},
{"$limit":1}])
于 2016-04-29T07:27:52.640 回答