другой формат данных mongo после обновления до php 7

#php #mongodb #symfony #php-7

#php #mongodb #symfony #php-7

Вопрос:

Мы используем Symfony2 / Doctrine / MongoDB. Ранее в php 5 вставлялось целое число в mongo, сохраненное как «NumberLong». После обновления до php7 и new ext-mongodb — integer сохраняется как целое число. В предыдущем ext-mongo был class MongoInt64 для сохранения в NumberLong, но теперь он устарел.

Как сохранить в формате NumberLong в php7? Это необходимо, поскольку база данных используется другими сторонними сервисами 3d.

Комментарии:

1. Просто принудительно используйте numberlong в вашем int NumberLong(your_int)

2. Просто используйте тип поля integer, если вы сохраните длинное число, оно будет сохранено в БД как NumberLong, например.: "someField": NumberLong("4294967295") .

3. @malcolm необходимо сохранить даже небольшое число (например, «3») как NumberLong.