командный курсор не вернул правильно структурированный ответ - PullRequest
0 голосов
/ 25 марта 2020

Я обновил свой понедельник go с 2,6 до 4. У меня проблема с запросом агрегации. Я получил сообщение: the command cursor did not return a correctly structured response.

Как указано в этот ответ , я поставил конфигурацию для

ini_set('mongo.native_long', false);
ini_set('mongo.long_as_object', true);

Но теперь я получил ошибку Notice: Object of class MongoInt64 could not be converted to int .

У кого-нибудь есть идеи, как это исправить?

Результат php --ri mongodb

php --ri mongodb

mongodb

MongoDB support => enabled
MongoDB extension version => 1.5.5
MongoDB extension stability => stable
libbson bundled version => 1.13.0
libmongoc bundled version => 1.13.0
libmongoc SSL => enabled
libmongoc SSL library => OpenSSL
libmongoc crypto => enabled
libmongoc crypto library => libcrypto
libmongoc crypto system profile => disabled
libmongoc SASL => disabled
libmongoc ICU => disabled
libmongoc compression => enabled
libmongoc compression snappy => disabled
libmongoc compression zlib => enabled

Directive => Local Value => Master Value
mongodb.debug => no value => no value

Код, который выдает исключение

$queryBuilder = $this->createQueryBuilder();

        return $this->createAggregationBuilder()->match()
                ->field('delivery')->references($delivery)
                ->field('dateDeleted')->equals(null)$aggregation
                ->group()
                    ->field('id')
                    ->expression(null)
                    ->field('count')
                    ->sum(1)->execute()->getSingleResult();

1 Ответ

0 голосов
/ 07 апреля 2020

Добавление ini_options устраняет ошибку the command cursor did not return a correctly structured response. Но поскольку некоторые данные уже существуют в базе данных, которая была создана более старым драйвером Mon go, он не может получить данные.

Итак, мне нужно удалить все мои документы для перезапуска с чистой базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...