gpt4 book ai didi

node.js - Mongoose 在启动时调用 ensureIndex,但不推荐这样做。那么为什么它是默认的呢?

转载 作者:可可西里 更新时间:2023-11-01 10:04:36 24 4
gpt4 key购买 nike

我无法理解一件事。正如我们在 Moongose docs 中读到的那样:

When your application starts up, Mongoose automatically calls ensureIndex for each defined index in your schema. While nice for development, it is recommended this behavior be disabled in production since index creation can cause a significant performance impact. Disable the behavior by setting the autoIndex option of your schema to false.

  1. 那么在开发中默认使用 ensureIndex 有什么意义,如果最好在生产模式(更敏感的地方)禁用它。不应该是相反的吗?我们在开发中进行测试并确保我们的索引在生产中有效?

  2. 不应该一直调用这个方法吗?如果我们想使用索引,但我们不确定 MongoDb 是否创建了索引,为什么我们可以选择使用它,而这在 Mongoose 中没有硬编码,以确保我们始终拥有索引?

我可能误解了什么,所以我会很感激你把我弄直。

最佳答案

We test in development and ensure that our indexes works in production?

不,想象一下您的编程中发生意外更改,这意味着必须重建覆盖多个分片和副本集的索引。

在开发中发生这种情况比在生产中发生更好。

Shouldn't this method be called always?

不,由于错误/拼写错误而意外重新配置和重建索引是一个真正的威胁,因为我曾经发现自己。

我个人实际上只是现在才在 shell 中创建所有索引。

关于node.js - Mongoose 在启动时调用 ensureIndex,但不推荐这样做。那么为什么它是默认的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20906679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com