Когда мы запускаем запрос Mongo find() без указания порядка сортировки, что внутренняя база данных используется для сортировки результатов?
В соответствии с документацией на веб-сайте mongo:
При выполнении поиска() без параметров база данных возвращается объекты в прямом естественном порядке.
Для стандартных таблиц естественный порядок не особенно полезен, поскольку, хотя заказ часто близок к порядку размещения, это не гарантировано. Тем не менее, для Capped Collections естественный порядок гарантированный порядок вставки. Это может быть очень полезно.
Однако для стандартных коллекций (непокрытых коллекций) какое поле используется для сортировки результатов? Это поле _id или что-то еще?
Изменить:
В принципе, я предполагаю, что я пытаюсь понять, что если я выполнил следующий поисковый запрос:
db.collection.find({"x":y}).skip(10000).limit(1000);
В два разных момента времени: t1 и t2, я получаю разные результирующие наборы:
- Если между t1 и t2 не было дополнительной записи?
- Когда появились новые записи между t1 и t2?
- Есть новые индексы, добавленные между t1 и t2?
Я выполнил несколько тестов в базе данных temp, и полученные мной результаты одинаковы (Да) для всех трех случаев - но я хотел быть уверенным, и я уверен, что мой тест случаи были не очень тщательными.