我已将模式定义为
var locationSchema = new mongoose.Schema({
coords: {
type: [Number],
index: '2dsphere'
},
});
geoJSON对象定义为
var geoOptions = {
spherical: true,
maxDistance: 5000,
distanceMultiplier : 0.001,
num: 10
}
loc.geoNear(point, geoOptions, function(error, results, stats){//do stuff});
其中loc是我的模型实例,我的观点是
var point = {
type: "Point",
coordinates: [lng,lat]
};
我的数据库中有两个带有coords的文件
"coords" : [
18.9164127,
72.8245292
]
"coords" : [
18.935197,
72.8249342
]
我将这两者之间的距离设为0.619 km,因为它应该超过2 km。 无法弄清楚我在做错的地方。任何帮助,将不胜感激。 提前致谢
答案 0 :(得分:1)
似乎没关系,您是否以[经度,纬度]格式插入坐标?该顺序很重要,是mongo使用geoNear执行查询的顺序。