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 に答える