应该在应用程序设置中调用ensureIndex?
每当应用程序发生变化时调用ensureIndex
是否合适,例如在app.configure
?
除了稍微慢一些的启动时间之外,它是否有任何缺点,而不是仅仅为新的mongo实例设置呢?
当确保在已经存在的索引上调用索引时,它将注册为不操作。 这意味着如果从app.configure
调用,它不应该减慢你的应用程序。
我不能看到任何其他的缺点,因为该函数将运行,而不是创build索引,如果它已经在那里。
我通常从应用程序init中调用ensureIndex()
,将其包装在一个预期的现有集合中。 如果集合已经存在,则假定数据库已经正确编制索引并跳过ensureIndex()
调用。
更多在这里: Mongodb:何时调用ensureIndex?