Я пытаюсь получить число пользователей с тем же адресом электронной почты.PHP Mongo Совокупное исключение: элемент конвейера 0 не является объектом
Я следовал документации php для MongoCollection Aggregate. Я также сравнил свой запрос с другими в stackoverflow. Насколько я могу судить о том, что мой конвейер соответствует примеру в примерах. И все же я получаю сообщение об ошибке:
exception: pipeline element 0 is not an object
Что я полагаю, является $group
элемент, который является объектом (после преобразования в формат JSON Монго использует, не так ли
$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, я, конечно, не ожидал результатов, но это привело к такой же ошибке !?
EDIT так получается, что когда я allowDiskUse
, но если я удалю $options
из функции, я получаю сообщение об ошибке.
Благодаря
У вас есть опечатка на этой строке '' _id '=> array (' email '=>' $ email ',), 'просто избавиться от первого появления запятой' (,) 'и переписать код, чтобы показать' '_id' => array ('email' => '$ email'), ' – chridam
Спасибо, не разрешает ошибку, хотя :( – James