我不明白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