昨天 去面试来着,

问了一下mong 。

我记得mong支持 地理位置索引的,说了一下。

然后 面试官说 查询某个点 的 多少米范围, 这个该怎么实现? 我懵逼了。。。。

回去 查询了一下。 发现有 测试数据(度量有啊)

//BsonElement bsonele = new BsonElement("address","南京 中华门");

/*
* 创建测试数据:
db.mapinfo.insert({"address" : "南京 禄口国际机场","loc" : { "type": "Point", "coordinates": [118.783799,31.979234]}})
db.mapinfo.insert({"address" : "南京 浦口公园","loc" : { "type": "Point", "coordinates": [118.639523,32.070078]}})
db.mapinfo.insert({"address" : "南京 火车站","loc" : { "type": "Point", "coordinates": [118.803032,32.09248]}})
db.mapinfo.insert({"address" : "南京 新街口","loc" : { "type": "Point", "coordinates": [118.790611,32.047616]}})
db.mapinfo.insert({"address" : "南京 张府园","loc" : { "type": "Point", "coordinates": [118.790427,32.03722]}})
db.mapinfo.insert({"address" : "南京 三山街","loc" : { "type": "Point", "coordinates": [118.788135,32.029064]}})
db.mapinfo.insert({"address" : "南京 中华门","loc" : { "type": "Point", "coordinates": [118.781161,32.013023]}})
db.mapinfo.insert({"address" : "南京 安德门","loc" : { "type": "Point", "coordinates": [118.768964,31.99646]}})
* */

//mong_sql
/*
* db.mapinfo.find(
* {
* "loc" :
* {
* "$near" :
* {
* "$geometry" :
* {
* "type" : "Point", "coordinates" : [118.783799, 31.979234]
* },
* "$maxDistance" : 5000
}
*}
*}
*).limit(50);
*/

//查询的点
double[] array = { 118.803032, 32.09248 };

BsonValue bs = BsonValue.Create(array);

BsonElement bsonele = new BsonElement("coordinates", bs);

var query = new QueryDocument("type", "Point");

query.Add(bsonele);

var query1 = new QueryDocument("$geometry", query);

//距离点的距离多少米
query1.Add("$maxDistance", 50000);

var query2 = new QueryDocument("$near", query1);

var query3 = new QueryDocument("loc", query2);

//IMongoQuery q= Query.EQ("coordinates", bs);

MongoCursor<mapinfo> mi = _mapinfos.Find(query3).SetLimit(50);

感受:

1: 不停地加对象,加到对象和 在mongo里的 对象 一样为止。

2: ado执行的是 SqlServer的sql语句 , 而 mongo.driver 执行的是 bson 。

mongo 查询 距离 某个点 多少 米距离 感谢 提供的数据。 感谢 mvc的 demo 。反正 就是各种感谢 文档之类的。的更多相关文章

  1. Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)

    一.简单介绍 Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一 ...

  2. mongodb查询文档

    说到查询,我们一般就想起了关系型数据库的查询了,比如:order by(排序).limit(分页).范围查询(大于某个值,小于某个值..,in查询,on查询,like查询等待很多),同样mongodb ...

  3. MongoDB文档(二)--查询

    (一)查询文档 查询文档可以使用以下方法 # 以非结构化的方式显示所有的文档 db.<collectionName>.find(document) # 以结构化的方式显示所有文档 db.& ...

  4. Atitti knn实现的具体四个距离算法 欧氏距离、余弦距离、汉明距离、曼哈顿距离

    Atitti knn实现的具体四个距离算法  欧氏距离.余弦距离.汉明距离.曼哈顿距离 1. Knn算法实质就是相似度的关系1 1.1. 文本相似度计算在信息检索.数据挖掘.机器翻译.文档复制检测等领 ...

  5. js获取页面元素距离浏览器工作区顶端的距离

    先介绍几个属性:(暂时只测了IE和firefox,实际上我工作中用到的最多的是chrome)  网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度) (javascript)       ...

  6. 通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ

    通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索“通过经纬度坐标计算距离的方法”,发现网上大部分都是如下的代码: #define PI 3.14159265 static double ...

  7. Mongo 查询

    Mongo 查询   mongo js 遍历 db.getCollection('CPU').find({}).limit(100).sort({"time":-1}).forEa ...

  8. Mongo查询百万级数据性能问题及JAVA优化问题

    Mongo查询百万级数据  使用分页  skip和limit 效率会相当慢   那么怎么解决呢  上代码 全部查询数据也会特别慢 Criteria criteria = new Criteria(); ...

  9. 一次mongo查询不存在字段引发的事故

    话说今天的一个小小的查询失误给了我比较深刻的教训,也让我对mongo有了更深刻的理解,下面我们来说说这个事情的原委: 我们经常使用阿里云子账号在DMS上查询线上数据库数据,今天也是平常的一次操作 集合 ...

随机推荐

  1. JS闭包机制实现为DOM元素循环添加事件

    HTML代码: <button type='button' class='btn' id='1'>按钮1</button> <button type='button' c ...

  2. POJ3237 Tree 树链剖分 边权

    POJ3237 Tree 树链剖分 边权 传送门:http://poj.org/problem?id=3237 题意: n个点的,n-1条边 修改单边边权 将a->b的边权取反 查询a-> ...

  3. Android1_运行第一个AS项目HelloWorld

    一.开发安卓程序需要具备一些开发工具,这里简单罗列一下: JDK :这是Java语言的开发工具包,包含了Java的运行环境.工具集合.基础类库等内容. Android Studio:目前主流的安卓开发 ...

  4. DEVOPS技术实践_01:jenkins集成平台

    一.准备环境 准备三台机器 角色 IP地址 用户名 密码 jenkins-master   172.25.254.130    admin   meiyoumima gitlab 172.25.254 ...

  5. iptables 添加80端口规则

    iptables -t filter -A INPUT -p tcp -s 10.0.0.0/24 -j DROP 在filter表的input链做规则丢弃10.0.0.0网段的ip包iptables ...

  6. jenkins邮件通知html魔板

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 20191024-3 互评Alpha阶段作品——都是为了生活组

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9860 评价:都是为了生活组——All  For  Eating 基于NAB ...

  8. 20191017-4 alpha week 2/2 Scrum立会报告+燃尽图 03

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9800 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶,徐 ...

  9. leetcode.310最小高度树

    对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点. ...

  10. pom.xml引入依赖时顺序错误而编译异常

    java.lang.NoClassDefFoundError: Lorg/springframework/beans/factory/access/BeanFactoryReference; at j ...