摘要: 文本查询,q作为查询字符串: coll.FindAsync<Foo>(Builders<Foo>.Filter.Text(q)); 文本查询需要一个文本索引。要从C#创建代码, coll.Indexes.CreateOneAsync(Builders<Foo>.IndexKeys.Text(p => 阅读全文
posted @ 2020-02-08 20:16 许宝 阅读(314) 评论(0) 推荐(0) 编辑
摘要: LBS(Location Based Services)定位服务,即根据用户位置查询用户附近相关信息,这一功能在很多应用上都有所使用。基于用户位置进行查询时,需要提供用户位置的经纬度。为了提高查询速度,MongoDB为坐标平面查询提供了专门的索引,称作地理空间(2d)索引。 1. 创建地理空间索引 阅读全文
posted @ 2020-02-08 15:57 许宝 阅读(2054) 评论(0) 推荐(0) 编辑
摘要: 地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一。我们知道,通常的数据库索引结构是B+ Tree,如何将地理位置转化为可建立B+Tree的形式,下文将为你描述。 首先假设我们将需要索引的整个地图分成16×16的方格,如下图(左 阅读全文
posted @ 2020-02-08 10:37 许宝 阅读(652) 评论(0) 推荐(0) 编辑
摘要: 背景 我们平常打开一些App的时候,经常有一个“查询周边景点”的功能,如我在高德里面就查询到了附近的景点。 这种计算如果通过普通的关系型数据库,那对服务器和数据库的性能要求就太高了。 我们可以通过MongoDB自带的地址位置索引来实现。 如何使用前期准备:插入数据我们先插入四条数据,即店铺的类型,名 阅读全文
posted @ 2020-02-08 10:23 许宝 阅读(1392) 评论(0) 推荐(0) 编辑
摘要: 这两天在研究mongoDB,从零开始接触它,为什么要研究它呢,因为它支持2d地图索引,而且速度非常快,可以用它来做类似微信的(摇一摇功能),不过网上很难搜到.net操作的,而且就算搜索到了也不能用,也许是驱动版本的问题。总之到处都找不到可用的代码,只好自己慢慢研究调试,终于成功查询到了附近的数据了。 阅读全文
posted @ 2020-02-08 10:11 许宝 阅读(304) 评论(0) 推荐(0) 编辑