Ошибка агрегата MongoDb «каждый элемент массива конвейера должен быть объектом»

Вот мой код агрегации для коллекции mongodb:

$mongo_db_name = "db_".$tenant_id;
$con = new MongoClient($this->config->item('mongo_instance'));
$db = $con->$mongo_db_name;
$collection = $db->$module;

$options = array('cursor' => array("batchSize" => 4 ));

$pipeline=array(
array('$match'=>array('deleted'=>'0')),
array('$group'=>array('_id' => array('id'=>'$id', 'accountnm' => '$account_name', 'legal___corporate_name_cstm' => '$legal___corporate_name_cstm', 'funded_by_cstm' => '$funded_by_cstm', 'approval_amount_cstm' => '$approval_amount_cstm', 'payback_amount_cstm' => '$payback_amount_cstm', 'factor_rate_cstm' => '$factor_rate_cstm', 'daily_ach_amount__1_cstm' => '$daily_ach_amount__1_cstm', 'total_commission_owed_cstm' => '$total_commission_owed_cstm', 'total_commission_paid_cstm' => '$total_commission_paid_cstm', 'upfront_amount_due_cstm' => '$upfront_amount_due_cstm', 'upfront_amount_due_date_cstm' => '$upfront_amount_due_date_cstm', 'date_modified' => '$date_modified'))),
);
$data = $collection->aggregate($pipeline,$options);

var_dump($data);

Я получаю эту ошибку с кодом выше

array (size = 4) ‘ok’ => float 0 ‘errmsg’ => string ‘Каждый элемент
массив ‘pipe’ должен быть объектом ‘(length = 54)’ code ‘=> int 14
‘codeName’ => строка ‘TypeMismatch’ (длина = 12)

Если я попытаюсь закодировать конвейер с помощью json_encode, результат будет нулевым.
Если я использую find(array('deleted'=>'0')); он возвращает все документы, как ожидалось.
Может кто-нибудь помочь мне с тем, где я иду не так, или что я должен сделать, чтобы решить эту проблему?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector