Действительно ли новый документ в MongoDB имеет «больший» _id, чем старый документ? - PullRequest
2 голосов
/ 02 марта 2012

Какой алгоритм у MongoDB для вычисления поля "_id".Похоже, что это инкрементно.

Мне интересно, безопасно ли сортировать по полю "_id", как сортировать по времени вставленный документ.

Ответы [ 2 ]

4 голосов
/ 02 марта 2012

Способ генерации идентификаторов описан здесь . Оказывается, ведущие байты передаются метке времени, поэтому, вероятно, порядок идентификаторов соответствует порядку вставки (если мы не учитываем отклонения во времени между различными машинами).

2 голосов
/ 02 марта 2012

Если вам нужно отсортировать по порядку вставки, вам нужно добавить собственное поле для отметки времени или инкрементного счетчика. В закрытой настройке сортировка по _id может не работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...