在 MongoDB 中使用集合的新字段更新索引可能会产生啥结果?

Posted

技术标签:

【中文标题】在 MongoDB 中使用集合的新字段更新索引可能会产生啥结果?【英文标题】:What might be the result of updating an Index with new field of a collection in MongoDB?在 MongoDB 中使用集合的新字段更新索引可能会产生什么结果? 【发布时间】:2013-05-28 11:43:02 【问题描述】:

我们使用 MongoDB 作为数据库,这是一个繁忙的 Web 应用程序。忙于 800 个并发用户,每秒钟在 MongoDB 上会有 50-70 个或更多更新。

当我接管这个应用程序时,该应用程序已经到位并且不是从头开始(Mongodb 集合上的索引已经创建)。

我们最近开发了一项新功能,并为我们在 mongodb 中的一个集合添加了一些新字段/属性。

我的问题是我可以将索引(添加一个新字段)更新到集合的现有索引吗?

我很困惑,因为我读到重建索引可能成本高昂,并且会降低 Oracle 等数据库的应用程序速度。

【问题讨论】:

【参考方案1】:

不,您不能修改现有的 MongoDB 索引。对于这种情况,最好在后台创建新索引(background: true 选项),然后在新索引完成构建后删除现有索引。

【讨论】:

以上是关于在 MongoDB 中使用集合的新字段更新索引可能会产生啥结果?的主要内容,如果未能解决你的问题,请参考以下文章

mongodb findOneAndUpdate 只获取更新的字段

向MongoDB中的现有集合添加具有大量行的新字段

带有可选字段的 MongoDB 索引

MongoDB:如何为集合中的每个文档设置一个等于另一个字段值的新字段[重复]

MongoDB索引管理

mongoDB 索引