2016-03-28 5 views
0

この質問の答え(https://stackoverflow.com/a/20817040/2656506)の後、私はそれに基づいてフィールドには、このコマンドを使用して、最初の文字のグループすることができた:MongoDB:コレクション内のフィールドの数を最初の文字でグループ化し、2番目のフィールドに一致させるにはどうすればよいですか?

db.kits.aggregate({ $group: {_id: {$substr: ['$kit', 0, 1]}, count: {$sum: 1}}})

しかし、私はどのようにすることができ、更にグループ文書のみを把握することはできませんどの同じクエリで_id: 'abc'のような追加の条件と一致します。 1つのクエリで実行できますか?

ありがとうございます!

答えて

2

あなたの集計クエリに$matchパイプラインステージを追加します。

db.kits.aggregate(
    [ 
     { 
      $match: { 
       _id: 'abc' 
      } 
     }, 
     { 
      $group: { 
       _id: { 
        $substr: ['$kit', 0, 1] 
       }, 
       count: {$sum: 1} 
      } 
     } 
    ] 
) 
関連する問題