Я обновил свой 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'
Есть ли у вас какие-либо идеи об этом поведении?
Проблема была в идентификатор курсора вернулся Монго:
["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
Других решений пока нет …