【发布时间】:2017-04-15 03:55:58
【问题描述】:
我正在尝试在 mongo db 中存储一些 geojson 点。这是我定义的 mongoose 模式。
new mongoose.Schema({
itemName:String,
loc:{ type: [Number], index: '2dsphere'}
});
接下来我尝试运行一个 near 运算符来找出附近的一些点。这就是我定义 near 查询的方式。
Model.where('loc').near({ center: { type:"Point",coordinates: [10,10] }, maxDistance: 20 }).exec(function(err,data){
console.log(err);
if (!err && data) {
console.log("Success");
} else {
console.log("Error");
}
});
但这会返回一个错误值,如下所示:
{ [MongoError: Can't canonicalize query: BadValue geo near accept 查询 GeoJSON 点时只需一个参数。额外字段 找到:$maxDistance:20] 名称:'MongoError' }
如果我删除maxDistance,它将返回所有集合元素。
知道为什么会出现此错误吗?在此先感谢您的帮助
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query geojson