鉴于MongoDB查询结果按照找到的顺序返回,其中" may coincide with insertion order (but isn't guaranteed to be) or the order of the index(es) used":
这是否意味着在使用Pymongo' rewind()
函数后,结果的顺序可能会发生变化?
似乎rewind()
执行另一个数据库查询,对吗?
答案 0 :(得分:2)
正确,rewind()
执行另一个数据库查询,就好像第一个从未发生过一样。如果您没有为结果指定任何排序顺序,并且MongoDB必须在第一个和第二个查询之间移动某些文档(例如,因为某些文档已更改大小),您将以不同的顺序获取它们。
如果您需要特定订单中的文档,请使用sort
。
http://api.mongodb.com/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort