2012-09-24 82 views
0

您好我有下面的代码为我的应用程序中,我不得不启用索引MongoDB的索引中的Node.js

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)是动态创建的,因此对于不同的类别,会有一个新的集合被创建。当我们创建新的集合时,我们还必须启用索引。

如何做到这一点?

+0

您需要的索引中包含哪些字段? – JohnnyHK

+0

我想索引“loc”字段。 – syv

回答

1

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

 loc: {type: {lon: Number, lat: Number}, index: '2d'},