`
geeksun
  • 浏览: 961291 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mongo支持地理索引

 
阅读更多
1. Geospatial Indexing

     MongoDB支持二维空间索引,这是设计时考虑到基于位置的查询。例如“找到离目标位置最近的N条记录”。可以有效地作为附加条件过滤。

 
 
2.  Creating the Index
  db.places.ensureIndex( { loc : "2d" } )     // 支持平面位置索引
或 
 db.places.ensureIndex({loc:”loc_2dsphere"})     // 支持球形位置索引
     
默认的,Mongo假设你索引的是经度/维度,因此配置了一个从-180到180的取值范围,如果你想索引更多,可以指定该参数:
db.places.ensureIndex( { loc : "2d" } , { min : -500 , max : 500 } )  
 
 
3.   Querying
索引可以被用来精确匹配:
db.places.find( { loc : [50,50] } )  
     
对于geo索引来说,更重要的是一个查询可以找到目标点附近的点,不必要精确匹配。
db.places.find( { loc : { $near : [50,50] } } )  
     上面的一句将按离目标点(50,50)距离最近的100个点(距离倒序排列),如果想指定返回的结果个数,可以使用limit()函数,若不指定,默认是返回100个。
db.places.find( { loc : { $near : [50,50] } } ).limit(20)  
 
 
4.  Compound Indexes(复合索引)
      Mongo空间索引可选的支持第二字段索引.如果想用坐标和其他属性同事作为条件查询,把这个属性也一同索引,其他属性带注释性的加入索引中可使过滤更快。
db.places.ensureIndex( { location : "2d" , category : 1 } );  
db.places.find( { location : { $near : [50,50] }, category : 'coffee' } );  
 
 
5.  geoNear Command
      虽然find()语法为查询的首选,Mongo也提供来了 geoNear 命令来执行相似的函数。geoNear命令有一个额外的好处是结果中返回距离目标点的距离,以及一些利于排除故障的信息。
> db.runCommand( { geoNear : "places" , near : [50,50], num : 10 } );  
> db.runCommand({geoNear:"asdf", near:[50,50]})  
 
 
  
 
分享到:
评论

相关推荐

    mongo 数据库工具

    5. **索引管理**:用户可以通过MongoVUE创建、查看和删除集合上的索引,包括单一字段、复合字段和地理位置索引。索引管理对于提升查询性能至关重要。 6. **用户与角色管理**:MongoVUE允许用户管理数据库的用户账户...

    robot mongo操作手册

    MongoDB支持单字段、复合字段以及地理空间索引。`createIndex()`方法用于创建索引,`getIndexes()`显示现有索引,`dropIndex()`删除索引。注意,过多或无用的索引会影响写操作性能。 五、聚合框架 MongoDB的聚合...

    mongo-java-driver-3.2.2

    4. **地理空间查询**:MongoDB支持地理位置索引,Java驱动程序提供了查询和操作地理位置数据的接口。 5. **TTL索引**:Time-to-Live(TTL)索引允许自动删除过期数据。Java驱动程序提供了设置TTL索引的API。 6. **...

    MongoDB中唯一索引(Unique)的那些事

    MongoDB支持的索引种类很多,诸如单键索引,复合索引,多键索引,TTL索引,文本索引,空间地理索引等。同时索引的属性可以具有唯一性,即唯一索引。唯一索引用于确保索引字段不存储重复的值,即强制索引字段的唯一性...

    mongo-2.8.0jar包以及spring整合的jar包

    3. **地理空间索引**:地理空间查询性能得到提升,支持更丰富的地理位置数据类型和操作,如近似最近邻搜索。 4. **TTL(Time To Live)索引**:MongoDB 2.8开始支持自动删除过期文档,这在处理临时或有时间限制的...

    mongo 数据库

    MongoDB 还有内置的地理空间索引,支持地理位置相关的查询,这对于需要处理地理位置信息的应用(如地图应用)非常有用。此外,它还提供TTL(Time to Live)索引,可以自动删除过期的文档,适合于实现缓存或者日志...

    php5.3-php5.4mongo扩展

    这个扩展还支持许多高级功能,如聚合操作、地理空间查询、索引管理等,使得开发者能够充分利用MongoDB的强大特性。总的来说,这个“php5.3-php5.4mongo扩展”资源对于需要在PHP 5.3和5.4版本上操作MongoDB的开发者来...

    mongo-指南第2版高清完整版

    MongoDB支持单字段、复合、地理空间等多种类型的索引,对于复杂查询场景尤其重要。 文档级别的原子性是MongoDB的一个核心特性,书中会阐述如何在多文档事务中实现数据一致性。此外,还会讲解复制集的概念,这是...

    mongo数据.zip

    9. **地理空间索引**:MongoDB 支持地理空间索引,便于进行地理位置相关的查询和分析。 10. **GridFS**:对于大文件存储,MongoDB 使用GridFS进行分块存储,提供了一种可靠且易于管理的大文件存储解决方案。 ...

    mongo-java-driver-3.0.2.zip

    7. **地理空间操作**:MongoDB支持地理空间索引和查询,Java驱动程序提供了相应的API,可用于地理位置相关的应用。 8. **副本集和分片支持**:驱动程序能够识别MongoDB的副本集和分片集群,并自动处理复制和负载...

    php_mongo.dll各版本

    这个新扩展提供了更现代的API,支持更多MongoDB的特性,如聚合框架、地理空间索引等。如果你正在使用PHP 7.x或更高版本,建议切换到mongodb扩展。 六、性能与优化 虽然php_mongo.dll扩展在早期版本的PHP中发挥了...

    MONGODB的索引探究

    5. 地理索引:专为地理位置数据设计,支持地理空间查询,如查找附近位置等。 6. 文本索引:用于全文搜索,不存储停顿词和主干词,只存储基础词根,提高文本搜索效率。 7. 哈希索引:仅支持等值匹配查询,不支持...

    MongoVUE 1.5.3

    对于集合中的索引,MongoVUE 1.5.3 提供了直观的界面来创建、查看和管理,包括单键、复合键以及地理空间索引。 再者,MongoVUE 还支持复制集管理和监控。在MongoDB的高可用性架构中,复制集是关键组成部分,可以...

    mongoDB+mongoVUE+rockMongo

    MongoDB的主要特点包括强大的查询语言、自动分片以实现水平扩展、复制集以提供高可用性以及内置的地理空间索引。 MongoVUE和RockMongo是两个流行的MongoDB管理工具,它们提供了图形用户界面(GUI)来方便地与...

    MongoDB中创建索引需要注意的事项

    - 地理空间索引:用于地理位置数据的查询和聚合。 - 全文索引:支持文本搜索功能。 7. **索引维护**: - 定期评估和调整索引,以适应数据和查询模式的变化。 - 删除不再使用的索引,以减少存储开销和维护成本。...

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

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

    php5.6mongo扩展

    9. **其他高级特性**:包括复制集支持、地理空间查询、TTL(Time To Live)索引、文件存储(GridFS)等,都是 PHP MongoDB 扩展提供的高级功能。 在 PHP 5.6 的环境中,开发人员需要注意的是,这个版本的 MongoDB ...

    MongoDB For Linux v2.2.1 rc1

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系...支持地理空间 (Geospatial);日志增强;为批量插入增加新的 ContinueOnError 选项;Map Reduce;新的查询特性等等。

    PyPI 官网下载 | khan-mongo-0.1.3.tar.gz

    除了基本操作,khan-mongo可能还包含了一些高级特性,如聚合框架、地理空间索引或分布式事务支持。这些特性可以帮助开发者构建更复杂的应用,满足不同场景的需求。例如,聚合框架允许用户在服务器端执行复杂的数据...

    mongo-java-driver.zip

    9. **其他高级特性**:Java驱动还支持地理空间查询、索引管理、复制集操作、事务处理等高级功能。 总的来说,MongoDB Java驱动程序提供了一个强大且灵活的接口,让Java开发者能够充分利用MongoDB的特性来构建数据...

Global site tag (gtag.js) - Google Analytics