尝试根据位置查询模型时出现此错误。
答案 0 :(得分:0)
在SO上结合一些答案之后,这是完整的实现。
<强>模型强>
// model.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ModelSchema = new Schema({
location: {
type: [Number],
index: '2dsphere'
}
});
ModelSchema.index({ location: 1});
module.exports = mongoose.model('model', ModelSchema);
<强>控制器强>
// controller.js
Model = require('path/to/model')
exports.getByLocation = function(req, res, next) {
var coords = [+req.query.lon, +req.query.lat];
Model.where('location').near({
center: {
type: 'Point',
coordinates: coords
}
})
.then(function(docs) {
res.json(docs);
})
.catch(next);
}
希望这会有所帮助:)