首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬GeoNear

猫鼬GeoNear
EN

Database Administration用户
提问于 2014-02-10 11:22:49
回答 2查看 2.6K关注 0票数 2

这是我的猫鼬模式-

代码语言:javascript
复制
var userDestinationSchema = mongoose.Schema({

    uid: String,                
    update_time: Date,          

    location:{                  //<INDEXED as 2d>
        lon: Number,
        lat: Number
    }
});



var userDestinationModel = mongoose.model('userDestinationModel', userDestinationSchema);

如何查询geoNear的模型?

我试过这样做但不起作用。

代码语言:javascript
复制
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

单位是什么?公里?

EN

回答 2

Database Administration用户

发布于 2014-02-10 14:13:40

我可以回答距离部分,但恐怕我从未在Mongoose中使用过geoNear --一个很好的方法可以判断问题是否在于如何调用Mongoose中的内容,而查询本身将首先在mongo shell上尝试,以验证它是否返回了您预期的结果。

就距离而言,对于遗留的2d点(您似乎正在使用的),$maxdistance是在弧度中指定的--有一个这一页,它概述了如何使用弧度和球面几何计算。如果您使用GeoJSON (我建议这样做),那么它将在米表(参考文献)中指定。

票数 1
EN

Database Administration用户

发布于 2016-08-29 11:20:34

最大距离是以米为单位的geoNear。

代码语言:javascript
复制
userDestinationModel.geoNear(
   {
     near: { type: "Point", coordinates: [ -73.9667, 40.78 ] },//lat long
     spherical: true,
     maxDistance: 50 //meter
   }
)
票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/58578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档