pymongo find()。提示('索引')不使用索引

时间:2016-08-15 00:43:18

标签: mongodb pymongo pymongo-3.x

我正在尝试使用索引在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无法使用,因为集合太大,大小约为16GB。文档似乎表明使用索引将按索引中键的顺序返回数据。如果不是这样,是否无法使用索引来定义集合中文档的检索顺序?

0 个答案:

没有答案