2

「group_name」でグループ化し、集約フレームワークを使用してphpドライバーでフィールド「group_name」と「group_id」を選択しようとしています:

Array
(
    [$project] => Array
        (
            [group_name] => 1
            [group_id] => 1
        )

    [$group] => Array
        (
            [_id] => $group_name
            [total_sum] => Array
                (
                    [$sum] => 1
                )

        )

)

私はこれを取得しています:[errmsg] => exception: A pipeline stage specification object must contain exactly one field. ただし、$projector$group演算子のみを使用している場合は問題なく動作します。

4

2 に答える 2

4

問題は、 $project と $group を一緒にグループ化することです。

あなたの配列はもっと似ているはずです

{
  $project: {
    group_name: 1,
    group_id: 1
  },
},
{   
  $group:{
    _id:{
      group_name:'$group_name',
    },
    total_sum:{$sum:1}
  }
}    
于 2013-04-25T10:04:32.407 に答える