应该在应用程序设置中调用ensureIndex?

每当应用程序发生变化时调用ensureIndex是否合适,例如在app.configure

除了稍微慢一些的启动时间之外,它是否有任何缺点,而不是仅仅为新的mongo实例设置呢?

当确保在已经存在的索引上调用索引时,它将注册为不操作。 这意味着如果从app.configure调用,它不应该减慢你的应用程序。

我不能看到任何其他的缺点,因为该函数将运行,而不是创build索引,如果它已经在那里。

我通常从应用程序init中调用ensureIndex() ,将其包装在一个预期的现有集合中。 如果集合已经存在,则假定数据库已经正确编制索引并跳过ensureIndex()调用。

更多在这里: Mongodb:何时调用ensureIndex?