0

嗨,我有以下代码作为我的应用程序的一部分,我必须在其中启用索引

var db = mongoose.createConnection(config.database.address, config.database.dbName);
var testSchema = new mongoose.Schema({
      status                  : String,
      loc                     : {lon: Number,  lat: Number },
      createDate              : {type: Date, default: Date.now}
});
exports.registerEmployee = function   (objEmployee , callback)
{
 var employee = db.model(objEmployee.categoryName, testSchema );
// Saves data     
}

如何为上述模式启用索引?由于集合名称(objEmployee.categoryName)是动态创建的,所以我有点卡在这里,因为对于不同的类别,将会创建一个新的集合。当我们创建新集合时,我们还必须启用索引。

这该怎么做 ?

4

1 回答 1

1

集合名称是动态的这一事实不会影响您如何在loc. 您将索引声明为loc字段定义的一部分testSchema,Mongoose 将负责在您为 via 注册架构的每个集合上创建该索引db.model。至于索引定义,您可以在架构中指定该权限:

      loc: {type: {lon: Number,  lat: Number}, index: '2d'},
于 2012-09-25T04:51:14.763 回答