pymongo find().hint('index') не использует индекс
Я пытаюсь использовать индекс для доступа к документам в коллекции, используя определенный индекс в Python 3.5 с Pymongo 3.3.0 и Mongodb 3,2. Я создал поле под названием sequence
в каждом документе, который содержит номер, определяющий порядок загрузки документов. Я создал индекс для этого поля и дал ему имя 'sequence'
используя следующую команду:
db.pages.create_index([('pages.sequence', pymongo.ASCENDING)], name='sequence')
Код, используемый для загрузки документов:
with MongoClient(tz_aware=True) as client:
db = Database(client, name)
for doc in db['pages'].find().hint('sequence').limit(1):
...
Документ, возвращаемый в doc, не содержит порядковый номер 1 и не является первым документом, загруженным в Mongodb. Как я должен убедиться, что документы возвращаются в порядке возрастания на основе значения в 'sequence'
поле в каждом документе?
Редактировать:Sort
не может использоваться, поскольку коллекция слишком велика, размером примерно 16 ГБ. Документация, кажется, утверждает, что использование индекса вернет данные в порядке ключей в индексе. Если это не так, нельзя ли использовать индекс для определения порядка поиска документов в коллекции?