我不明白pymongo中create_index
和ensure_index
之间的区别。在MongoDB indexes page,它说Pymongo/MongoDB:创建索引或确保索引?
您可以通过调用
ensureIndex()
但是在pymongo有两个不同的命令create_index
和ensure_index
创建索引,并为创建索引的文档有:
与create_index()不同,它尝试 无条件地创建索引, ensure_index()利用驱动程序内的某些 缓存,使其 只尝试创建 可能尚不存在的索引。当PyMongo创建(或确保)索引 时, 在ttl秒内“记住”。 重复呼叫ensure_index() 在该时间限制内将是 轻量级 - 他们不会尝试 实际上创建索引。
我说得对不对公众在理解时ensure_index
将创建一个永久索引,或者我需要使用create_index
这个?
在mongo 3.x中ensureIndex是** [不建议](http://stackoverflow.com/a/30314946/1090562)**,因此最好停止使用它。即使你仍然使用2.6版本,最好事先做好准备,并确保在未来的迁移中会有更少的意外。 – 2015-05-19 00:40:16