2016-08-15 7 views
0

私はMongoDBのもはどのように私はすべての埋め込みドキュメントが

[ 
    { 
     “Group”: { 
      “_id”: 1, 
      “Requests”: [ 
       { 
        “_id”:1, 
        “name”:”Request A” 
       }. 
       { 
        “_id”:2, 
        “name”:”Request B” 
       } 
      ]  
     } 
    }, 
      { 
     “Group”: { 
      “_id”: 2, 
      “Requests”: [ 
       { 
        “_id”:3, 
        “name”:”Request C” 
       }. 
       { 
        “_id”:4, 
        “name”:”Request D” 
       } 
      ]  
     } 
    } 

] 

Groupsコレクション内の次のデータを持っていると言うことができます特定の条件に一致する検索しMGO集約パイプラインを使うのですか、私は以下の機能を持っていると言うことができます

func GetRequests(requestIDs []string) (Request[] error){ 
     //NEED TO IMPLEMENT W/ MGO 
} 

requestIDsに一致する要求のプロジェクションを返すために集約パイプラインを使用する方法はありますか?

例えば

サンプル入力requestIds

[1,2,4] 

を反映したサンプル出力mgo凝集/クエリから

[ 
    { 
    “_id”:1, 
    “name”:”Request A” 
    }, 
    { 
    “_id”:2, 
    “name”:”Request B” 
    }, 
    { 
    “_id”:4, 
    “name”:”Request D” 
    } 
] 

答えて

0

これを試します
db.groups.aggregate([{$unwind : '$Requests'}, 
        {$match: {'Requests._id' :{$in: [1,2,4]}}}, 
        {$project : {_id : '$Requests._id',name:'$Requests.name'}}]); 
関連する問題