同じ電子メールアドレスを持つユーザーの数を取得しようとしています。PHP Mongo集計例外:パイプライン要素0はオブジェクトではありません
私はMongoCollection Aggregateのphpドキュメントに従っています。私はまた、stackoverflowで私のクエリを他のものと比較しました。私のパイプラインには、例のものと一致することがわかります。そして、まだ、私はエラーを取得する:私は推測
exception: pipeline element 0 is not an object
オブジェクトである$group
要素は、(一回JSONフォーマットのmongoに変換使用しています、それはないです
$pipeline = array(
array(
'$group' => array(
'_id' => array('email' => '$email'),
'uniqueIds' => array('$addToSet' => '$_id' ),
'count' => array('$sum' => 1)
)
),
array(
'$match' => array(
'count' => array('$gt' => 1)
)
)
);
$options = array(
'allowDiskUse' => true
);
$results = $mongo->users_collection->aggregate($pipeline, $options);
?私は間違って何をしたのですか?私はphp.netからクエリを実行しようとしても、結果は期待しませんでしたが、同じエラーが発生しました。 allowDiskUse
ですが、私が関数から$options
を削除すると、私はそれを使用するように指示するエラーが発生します。
おかげ
'_id '=> array(' email '=>' $ email ')、' '最初のカンマオカレンス'(、) 'を取り除き、 '_id' => array( 'email' => '$ email')、 ' – chridam
ありがとうございます。 – James