mongodb - 何时在 MongoDB 集合上调用 ensureIndex?

我应该什么时候调用 ensureIndex?在插入单条记录之前,在插入单条记录之后,还是在调用 find() 之前?

最佳答案

看来我的评论有点被误解了,所以我会澄清一下。何时调用它并不重要只要它在你第一次调用 find() 之前的某个时间点被调用。 换句话说,当你创建索引,只要它在您期望使用它之前就已经存在。

我经常看到的一种常见模式是在调用 find() 的同时(并且在同一个地方)对 ensureIndex 进行编码。 ensureIndex 将检查索引是否存在,如果不存在则创建它。在调用 find() 之前调用 ensureindex 无疑会有一些开销(尽管非常小),所以最好不要这样做。

我确实在代码中调用 ensureIndex 以简化部署并避免必须分别管理数据库和代码库。易于部署的权衡平衡了后续调用 ensureIndex 的冗余(对我而言)。

https://stackoverflow.com/questions/7000777/

相关文章:

mongodb - 自动压缩mongodb中删除的空间?

spring - 使用 MongoDB hibernate

mongodb - 如何将 Robomongo 连接到 MongoDB

node.js - MongoDB Node findone如何处理没有结果?

mongodb - DynamoDB 相对于其他 NoSQL 数据库的优缺点是什么?

mongodb - Mongo按数组长度排序

mongodb - 在 mongo 中创建 super 用户

arrays - 从 mongodb 数组中的所有元素中删除一个字段

mongodb - 从现有 MongoDB 条目中删除键/值

mongodb - 与 Mongos 连接时 system.profile 集合中缺少用户字段