mongoose 的 model.on('index', ...) 应该如何使用?

Nic*_* S. 2 mongoose mongodb node.js

MongooseJS在查看for的文档时MongoDB/Node.js,似乎可以在对象上指定索引,如下所示:

var MyModelSchema = new Schema({ name: String, index: true });
var MyModel = mongoose.model('MyModel', MyModelSchema);
MyModel.on('index', function()
{
    doStuff();
});
Run Code Online (Sandbox Code Playgroud)

根据文档,Mongoose 将ensureIndex()在启动时调用,除非该"autoIndex"选项在模式上显式设置为 false。一旦完成,'index'事件将在模型上发出,这将触发回调。

我的理解是,这允许模型的用户确保在使用模型之前所有索引都已完成。

我相信我听说过通过 这样做app.configure,尽管我不确定如何做到这一点。也许还有另一种方法可以保证在依赖导出模型的应用程序的其他部分之前完成此索引操作?

这个应该如何正确使用呢?

Joh*_*yHK 5

模型上的事件'index'用于提醒您模型ensureIndex调用中发生的任何错误。您无需延迟模型的使用,直到事件触发。那会变得非常混乱。

  • @AlexMills Mongoose 在 MongoDB 数据库中创建索引。 (2认同)