每当应用程序发生变化时调用ensureIndex
是否合适,例如在app.configure
?
与仅为新的mongo实例设置相比,除了稍微慢一点的启动时间之外,它是否有任何缺点?
答案 0 :(得分:3)
当确保在现有索引上调用索引时,它将注册为no op。这意味着如果从app.configure
调用它,它根本不应该减慢您的应用程序。
我看不到任何其他缺点,因为该函数只会运行而不会创建索引(如果它已经存在)。
答案 1 :(得分:0)
我通常从应用程序init调用ensureIndex()
,包含在对预期的现有集合的检查中。如果该集合已存在,则假设数据库已正确编入索引并跳过ensureIndex()
调用。