Проблема AggregateCursor с MongoDB 3.6

Я обновил свой MongoDB до 3,6 версия. Я использую PHP MongoClient на CentOS 7 и PHP 5.5.38.
Если я запускаю метод aggregateCursor библиотеки MongoDB, в первом примере, приведенном в http://php.net/manual/en/mongocollection.aggregatecursor.php, Я получаю следующее сообщение об ошибке, как показано ниже:

PHP Fatal error:  Uncaught exception 'MongoCursorException' with message '95.110.150.99:27017: the command cursor did not return a correctly structured response'

Есть ли у вас какие-либо идеи об этом поведении?

3

Решение

Проблема была в идентификатор курсора вернулся Монго:

 ["id"]=>
float(6.43105103109E+18)

Чтобы построить MongoCommandCursor объект, Я бы как ожидается, будет MongoInt64:

["id"]=>
object(MongoInt64)#5 (1) {
["value"]=>
string(12) "392143983421"}

Это можно сделать, установив:

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

Проблема подробно описана по адресу:
https://derickrethans.nl/64bit-ints-in-mongodb.html

5

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

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

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