Почему создаётся данные в _id как объект, а не как integer, как исправить?
Добрый день. Имеется БД на Mongo версии 4.0 и Laravel 5.8 (php 7.3).
В базе, со стороны сервера, _id автоматически создаётся как целое число (т.е. integer), а вот через Laravel почему то создаётся объект OID (если не ошибаюсь).
Пробовал напрямую забивать этот _id как число, но всё равно создаётся OID.
Подключал эту библиотеку: "jenssegers/mongodb": "^3.5",
В монге _id - это объект типа ObjectId (OID) - это 12 байтовое уникальное целое, уникальность гарантируется монгой, что-то вроде UUID или GUID.
Если его не задавать явно, монга сама его генерирует.
Монга автоматически создает уникальный индекс по _id в любой коллекции. https://docs.mongodb.com/manual/core/document/#the...
res2001, тогда как передавать только integer значение?
Дело в том, что если писать на чистом PHP, то _id присваивается число. А через Laravel почему то так не получается.
Дмитрий Кузнецов, Может быть не стоит ломать предоставляемый базой механизм? Используйте его.
Я бы вообще вручную не присваивал _id. Если вам нужен какой-то целочисленный идентификатор, заведите другое поле для этих целей.
Если что я ни PHP ни Laravel не знаю. Я немного разрабатывал с использованием Монги на другом языке.