次のスキーマとコードを使用して、インデクサーと一緒にMongoでコレクションを作成し、データを挿入します。コレクションはcategoryNameに基づいて動的に作成されることに注意してください。
var employeeSchema = new mongoose.Schema({
categoryId : {type: String, required: true },
loc : {type: {lon: Number, lat: Number}, index: '2d'},
// createdBy : {type: String, required: true },
createDate : {type: Date, default: Date.now}
});
exports.register = function (objEmployee , callback)
{
var emp = db.model(objEmployee.categoryName, employeeSchema );
var objSchema = new emp(objEmployee);
objSchema.save(function (err) {
if (err) return callback(err);
console.info ('Data inserted successfully.');
return callback(null);
});
};
データを挿入できませんが、radiousに基づいてクエリを実行すると、次のエラーが発生します。
Sat Sep 29 20:21:24 uncaught exception: error: {
"$err" : "can't find special index: 2d for: { loc: { $within: { $center: [ [ 50.9393925139, -114.0 ], 2.0 ] } } }",
"code" : 13038
私のコードで何か問題がありますか?