MongoDB地理空间(2d)索引创建与查询
LBS(Location Based Services)定位服务,即根据用户位置查询用户附近相关信息,这一功能在很多应用上都有所使用。基于用户位置进行查询时,需要提供用户位置的经纬度。为了提高查询速度,MongoDB为坐标平面查询提供了专门的索引,称作地理空间(2d)索引。
阅读全文LBS(Location Based Services)定位服务,即根据用户位置查询用户附近相关信息,这一功能在很多应用上都有所使用。基于用户位置进行查询时,需要提供用户位置的经纬度。为了提高查询速度,MongoDB为坐标平面查询提供了专门的索引,称作地理空间(2d)索引。
阅读全文与关系型数据库一样,合理的使用索引可以大幅提高MongoDB的查询效率,本文介绍基础索引、复合索引、文档索引等几种常用索引的使用。
阅读全文explain()
是MongoDB的一个重要的查询论断工具,这个函数能够提供大量的与查询相关的信息,该函数会返回查询计划、执行状态、服务器信息,根据这些信息可以有针对性的对性能进行优化。
索引是提高查询查询效率最有效的手段。索引是一种特殊的数据结构,索引以易于遍历的形式存储了数据的部分内容(如:一个特定的字段或一组字段值),索引会按一定规则对存储值进行排序,而且索引的存储位置在内存中,所在从索引中检索数据会非常快。如果没有索引,MongoDB必须扫描集合中的每一个文档,这种扫描的效率非常低,尤其是在数据量较大时。
阅读全文MongoDB使用find()
方法查询后,可能需要对于返回结果进行排序。在有些查询中,我们并不需要返回全部结果,而是按指定的页长和页码返回指定数量的结果
在MongoDB中,集合(collection)是一组文档(document)的集合。集合类似于关系型数据库中表的概念,但相比表集合结构更为灵活,相同集合中的文档结构可以是不一样的
阅读全文MongoDB中,数据库(database)是集合(collection)的集合。安装数据库实例后,首先要创建数据库
,然后才能在其中进行集合和文档的管理。
文档查询是MongoDB主要功能之一,在MongoDB中查询使用find
方法,也可以使用findOne
方法返回单个文档。相比关系型数据库,MongoDB的查询更为方便,MongoDB的查询提供了:条件查询、语义查询、甚至数组等特定类型的查询。
在MongoDB中文档是一个键值对的集合,文档是存储数据的基本单元。对文档的操作包括:向集合中添加新文档、向文档中插入数据、文档的更新和删除集中的文档等。
阅读全文MongoDB的文档与JavaScript中的对象相似,JavaScript中的数据交互格式是JSON格式,JSON只能表示6种数据格式:null、布尔、数字、字符串、数据、对象。MongoDB数据保存使用二进制形式JSON存储格式,即:BSON格式,在保留了JSON的键-值对表示特性的基础上,扩展了一些数据类型。
阅读全文