Все драйверы MongoDB (также известные как клиентские библиотеки) будут генерировать идентификаторы объектов непосредственно на клиенте. Один из моих коллег Кен Алгер сделал полную запись здесь . По сути, драйвер генерирует идентификатор без привязки к серверу. Он использует комбинацию метки времени, случайного значения и счетчика, чтобы гарантировать уникальность всех идентификаторов объектов в данной коллекции.
Это функция базового драйвера, а не Mon goose. Вы можете переопределить создание этого значения, указав собственное значение _id
для любого вставляемого документа. Единственное ограничение состоит в том, что, поскольку _id
имеет уникальный индекс, применяемый автоматически, все вставленные идентификаторы должны быть уникальными, иначе вставка будет отклонена.