`

mongodb 地理位置处理

 
阅读更多

我只记录我用到的部分,没有完整分析mongodb对地理位置的支持 

 

1. 使用mongodb 3.2.6版,mongodb-driver 3.2.2版

  

2. 使用GeoSpatial索引:

    

use dbName
db.collectionName.ensureIndex({"location": "2dsphere"})

 

 

3. 查询一定距离范围内的记录:

         

// 查询fieldA不等于not_equal_value,status等于1,距离范围为100-2000米之内的第11-20行记录
double longitude = 120.21533;
double latitude = 30.253708;
int start = 10;
int limit = 20;
Bson query = Filters.and(Filters.ne("fieldA", "not_equal_value"), 
				Filters.eq("status", 1),
				Filters.nearSphere("location", new Point(new Position(longitude, latitude)), 2000d, 100d));
MongoCollection<Document> collection = getCollection("dbName", "collectionName");
FindIterable<Document> findIter = collection.find(query);
findIter = findIter.skip(start);
findIter = findIter.limit(size);
MongoCursor<Document> cursor = findIter.iterator();
Document document = null;
while (cursor.hasNext()) {
	document = cursor.next();
	// do with document
}
 

 

4. 查询距离最近的n条记录

 

// 查询status等于1,距离最近的10条记录
db.runCommand({geoNear:"collectionName", near:[120.21533, 30.253708], distanceMultiplier:6378137, num:10, spherical:true, query:{"status":1}})
 

 

分享到:
评论

相关推荐

    MongoDB大数据处理权威指南

    3. **地理空间索引**:MongoDB支持创建地理空间索引,可以用于存储地理位置信息,并支持基于位置的查询。 4. **聚合框架**:MongoDB的聚合框架允许用户执行复杂的聚合操作,如分组、过滤、排序等,以生成汇总报告或...

    MongoDB 位置信息存储及查询

    在处理地理位置数据时,MongoDB 提供了强大的地理空间索引和查询功能,使得存储、管理和分析位置信息变得非常便捷。 在 MongoDB 中,位置信息通常以坐标对(即经度和纬度)的形式存储,可以是简单的点,也可以是...

    MongoDB Days 2015 深圳 PPT 共享

    6. **地理空间索引**: MongoDB内置对地理空间数据的支持,可以创建索引来高效地查询地理位置相关的数据,这对于地图应用、物流跟踪等场景非常有用。 7. **查询优化**: 学习如何编写高效的查询语句,理解MongoDB的...

    MongoDB4.2.21 Linux版本安装包

    MongoDB是一款高性能、无模式的分布式文档型数据库,被广泛应用于大数据分析、内容管理系统、物联网(IoT)、实时应用程序和地理位置数据存储等场景。在Linux环境下安装MongoDB 4.2.21版本,是许多系统管理员和开发者...

    MongoDB应用设计模式:MongoDB Applied Design Patterns

    - **地理空间查询**:对于地理位置相关应用,MongoDB支持地理索引,提供高效的地理查询功能。 4. 性能调优: - **硬件选择**:如何根据工作负载选择适当的硬件配置,包括CPU、内存、磁盘类型等。 - **监控和诊断...

    mongodb-2.0.6 64位

    4. 内置地理索引:支持2dsphere索引,允许对地理位置数据进行高效的查询。 5. 特性增强:包括更好的错误处理、日志记录改进以及更多的安全选项等。 需要注意的是,MongoDB 2.0.6已经不再受到官方的维护和支持,可能...

    mongodb4.4.10.tgz(mongo4目前最新稳定版本)

    地理空间索引,支持地理位置相关的查询;以及TTL(Time To Live)索引,可以自动删除过期数据。此外,MongoDB的连接池管理、权限控制和审计功能也帮助企业确保数据安全和合规性。 总之,MongoDB 4.4.10是一个强大的...

    spring mongodb 中文文档

    MongoDB 支持地理空间索引和查询,Spring Data 提供了相应的API 来处理地理位置数据。 10. **索引管理** 可以通过`@Indexed` 注解创建索引,或者使用MongoTemplate 手动管理索引。索引有助于提高查询性能。 11. ...

    MongoDB教程

    4. **高级特性**:深入探讨MongoDB的高级特性,如地理位置索引、TTL索引、文本搜索、网格FS(用于存储大型文件)以及地理空间操作。 5. **应用程序开发**:提供多种编程语言(如Python、Java、Node.js等)的驱动...

    巧妙的利用Mongodb做地理空间查询

    这种能力使得MongoDB成为处理地理位置数据的理想选择,尤其是在移动应用和需要实时地理位置服务的场景下。记住,这些只是基础,你可以根据具体需求进一步优化和扩展,比如加入更多的筛选条件或处理更复杂的地理位置...

    mongodb及图形化界面

    - **地理空间索引**:支持地理位置数据的快速查询和分析。 2. **安装MongoDB** 在Node.js环境中安装MongoDB,可以使用官方提供的包管理器`mongod`来启动服务。首先,需要下载并安装MongoDB服务器,然后在命令行中...

    mongodb v4.4.0_windows版本(支持x64x86)

    6. **地理空间索引**:MongoDB支持地理空间查询,可以方便地处理地理位置数据,非常适合地理信息系统的应用。 7. **事务支持**:自4.0版本起,MongoDB开始支持多文档ACID事务,提高了数据一致性,使得MongoDB更适合...

    Mongodb基础知识详解(值得珍藏).pdf

    此外,MongoDB支持创建索引,包括全文索引、地理位置索引等,以提高查询性能。查询操作丰富,几乎涵盖了SQL中的大部分功能。 MongoDB的另一个优势在于其可扩展性。它支持自动分片和副本集,分片能将数据分散到多个...

    MongoDb多数据中心

    数据中心感知性指的是MongoDB能够识别不同数据中心的位置,并且根据预设的策略将数据从一个数据中心自动同步到其他数据中心。这种机制保证了数据的一致性,同时最大限度地减少了跨数据中心通信的延迟。 2. 部署模式...

    MongoDB介绍

    7. **地理空间索引**:MongoDB支持对地理位置数据进行索引,便于进行地理位置相关的查询和分析,适用于地图应用、物流追踪等领域。 8. **丰富的查询语言**:MongoDB的查询语言(MQL)强大且直观,支持丰富的查询、...

    64位MongoDB

    - **索引**:创建合适的索引可以显著提升查询性能,MongoDB支持多种类型的索引,包括单字段、复合、地理位置索引等。 - **聚合框架**:MongoDB提供了强大的聚合框架,用于进行复杂的数据分析和报表生成。 - **安全...

    mongodb3.2.4说明文档

    - **地理位置索引**:用于地理位置相关的查询。 **8.3 索引教程** 文档提供了详细的索引教程,包括如何创建、管理和使用索引。 **8.4 索引参考** 这部分内容提供了关于索引的详细参考,包括索引的类型、创建方法...

    MongoDB数据库

    6. **地理空间索引**:MongoDB内置了对地理坐标数据的支持,可以方便地处理地理位置相关的查询。 7. **灵活的数据模型**:由于MongoDB的数据模型是动态的,不需要预先定义模式,因此可以快速适应业务需求的变化。 ...

    php结合mongodb判断坐标是否在指定多边形区域内的实例

    MongoDB是一款强大的NoSQL数据库,支持丰富的地理空间索引,使得处理地理位置数据变得简单高效。而PHP作为一种常用的服务器端脚本语言,是实现这一功能的理想选择。 首先,让我们了解MongoDB中的地理空间索引。...

Global site tag (gtag.js) - Google Analytics