首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于如何在MongoDb中存储(大型)地理化点的建议

关于如何在MongoDb中存储(大型)地理化点的建议
EN

Stack Overflow用户
提问于 2016-07-28 13:05:07
回答 1查看 21关注 0票数 0

我想在MongoDB中存储几种兴趣点。对我来说,战俘就像

代码语言:javascript
复制
poi = 
{
 properties :
   {
    name: 'title',
    type: 'feature'      // GEOJson
    geometry : 
        { type: 'Point',
          coordinates : [lng, lat]
        },
    categories : ['red', 'green']
   },
  details :
    {
     photo: 'http://...',
     description : 'bla bla bla.....'
     etc...
    }
}

由于我将使用GeoNear,所以我将poi划分为两个不同的集合:属性和详细信息。因此,首先,我将研究和显示接近pois在poi_properties的集合。然后,一旦选择了一个poi,我将查询它关于poi_details集合的详细信息。在第一项研究中,除了坐标外,我还对结果进行了分类过滤。所以查询看起来就像

代码语言:javascript
复制
 db.collection.poi_properties.find({$near: [lng, lat], categories:['red']});

所以我有索引坐标和类别。

但是,查询不是那么快.我猜是因为这个集合相当大(如果我导出它,它大约是200 it )。在如何存储这类数据方面,是否有任何有用的技术/最新实践?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-07-28 14:19:38

你有坐标的地理空间索引吗?

https://docs.mongodb.com/manual/applications/geospatial-indexes/

语法如下:

代码语言:javascript
复制
db.collection.createIndex( { <location field> : "2dsphere" } )

然后,您可以检索您的信息,并返回您的结果与一个查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38637274

复制
相关文章

相似问题

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