这是我的猫鼬模式-
var userDestinationSchema = mongoose.Schema({
uid: String,
update_time: Date,
location:{ //<INDEXED as 2d>
lon: Number,
lat: Number
}
});
var userDestinationModel = mongoose.model('userDestinationModel', userDestinationSchema);如何查询geoNear的模型?
我试过这样做但不起作用。
userDestinationModel.geoNear([parseInt(req.params.lon,10),parseInt(req.params.lat,10)],
{ maxDistance : 50, spherical : true },
function(err, results, stats) {
console.log(results);
});maxDistance : 50
单位是什么?公里?
发布于 2014-02-10 14:13:40
我可以回答距离部分,但恐怕我从未在Mongoose中使用过geoNear --一个很好的方法可以判断问题是否在于如何调用Mongoose中的内容,而查询本身将首先在mongo shell上尝试,以验证它是否返回了您预期的结果。
就距离而言,对于遗留的2d点(您似乎正在使用的),$maxdistance是在弧度中指定的--有一个这一页,它概述了如何使用弧度和球面几何计算。如果您使用GeoJSON (我建议这样做),那么它将在米表(参考文献)中指定。
发布于 2016-08-29 11:20:34
最大距离是以米为单位的geoNear。
userDestinationModel.geoNear(
{
near: { type: "Point", coordinates: [ -73.9667, 40.78 ] },//lat long
spherical: true,
maxDistance: 50 //meter
}
)https://dba.stackexchange.com/questions/58578
复制相似问题