使用Mongoose重新创建模型

时间:2013-09-22 06:50:21

标签: javascript node.js mongodb mongoose

我希望在删除其中的所有内容后重新创建数据库中的模型。

Mongoose(或Mongo本身)实际上是重新创建文档而不是索引。那么有没有办法重置Mongoose,以便它可以像第一次运行一样重新创建索引?

我之所以使用dropDatabase是因为它在测试时似乎更容易。否则我将不得不逐个删除所有集合。

1 个答案:

答案 0 :(得分:1)

虽然不建议用于生产,但根据您的方案,您可以将index属性添加到字段定义中,以指定您希望创建索引:

var animalSchema = new Schema({
  name: String,
  type: String,
  tags: { type: [String], index: true } // field level
});

animalSchema.index({ name: 1, type: -1 }); // schema level

或者,

var s = new Schema({ name: { type: String, sparse: true })
Schema.path('name').index({ sparse: true });

或者,您可以在ensureIndexdocs)上致电Model

Animal.ensureIndexes(function (err) {
    if (err) return handleError(err);
});
相关问题