6

サブドキュメント配列から特定のフィールドを取得しようとしています

親ドキュメントにはどのフィールドも含めません

サンプル文書はこちら

{
    "_id" : ObjectId("5409dd36b71997726532012d"),
    "hierarchies" : [ 
        {
            "rank" : 1,
            "_id" : ObjectId("5409df85b719977265320137"),
            "name" : "CTO",
            "userId" : [ 
                ObjectId("53a47a639c52c9d83a2d71db")
            ]
        }
    ]
}

userId が userId 配列にある場合、階層のランクを返したいと思います

これが私のクエリでこれまでに持っているものです

collectionName.find({{hierarchies:
   {$elemMatch : {userId: ObjectId("53a47a639c52c9d83a2d71db")}}}
    , "hierarchies.$.rank", function(err,data){}

これまでのところ、必要な階層配列内のオブジェクト全体を返しますが、オブジェクトのランク プロパティのみに制限したいと考えています。

4

1 に答える 1