mongodb中的ensureIndex

时间:2012-09-22 20:38:39

标签: mongodb

有些问题:

  1. 如果我对已经编入索引的字段的EnsureIndex会重新编制索引,或者只是说“是”,我已经编入索引吗?
  2. 如果某个开发人员的计算机上还没有该集合,mongo会启动索引吗?
  3. 我是否需要再次使用ensureIndex或者只需要调用一次?
  4. 什么时候安全"索引?这需要一段时间......那段时间我的数据库被锁定了吗?
  5. 谢谢!

1 个答案:

答案 0 :(得分:8)

  1. ensureIndex的冗余呼叫是无操作。
  2. 如果ensureIndex调用中引用的集合不存在,则会创建它。
  3. 一次就够了。
  4. 除非您指定background: true选项,否则创建索引会阻止其他数据库操作。
  5. MongoDB 3.0更新

    ensureIndex已在v3.0中弃用,现在是createIndex的别名,因此应使用createIndex。行为保持不变。