我有一个30GB的mongodb 3.6集合,有500k文件 . 主_id字段是一个浮点时间戳(我没有手动定义索引,但插入到_id字段,假设从文档中将_id用作索引并自动维护 .

现在,如果我查询我在Python 3中执行的最后数据

cursor = cry.find().sort('_id', pymongo.DESCENDING).limit(600)
df = list(cursor)

但是,查询最后600条记录大约需要1分钟 . 如果保持索引,这怎么可能?是否有更快的查询方式(比如自然顺序)或者我需要重新索引,尽管文档说它是自动完成的吗?

我也试过了

cursor=cry.find().skip(cry.count() - 1000)
df = list(cursor)

但这也很慢