$geoWithin查询
形状的表示
、$box:矩形,使用
  {$box:[[<x1>,<y1>],[<x2>,<y2>]]}表示
  都是坐标,第一个坐标表示矩形的左边界,第二个坐标表示矩形的右边界
、$center:圆形,使用
  {$center:[[<x1>,<y1>],r]}
  第一个表示圆心位置,第二个代表半径
、$polygon:多边形,使用
  {$polygon:[<x1>,<y1>],[<x2>,<y2>],[<x3>,<y3>]}表示
  每个数组代表一个坐标点,这些点代表一个多边形
矩形
> db.location.find({w:{$geoWithin:{$box:[[,],[,]]}}})
{ "_id" : ObjectId("5b6b6fa572ff7510af7fc783"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fa872ff7510af7fc784"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fab72ff7510af7fc785"), "w" : [ , ] }
矩形<0,0>到<3,3>之间可以看到查出3个点
> db.location.find({w:{$geoWithin:{$box:[[,],[,]]}}})
{ "_id" : ObjectId("5b6b6fa572ff7510af7fc783"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fa872ff7510af7fc784"), "w" : [ , ] }
矩形<1,1>到<2,3>之间可以看到查出2个点,可以看到矩形可以查询某个矩形内中的点
圆形
> db.location.find({w:{$geoWithin:{$center:[[,],]}}})
{ "_id" : ObjectId("5b6b6fa572ff7510af7fc783"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fa872ff7510af7fc784"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fab72ff7510af7fc785"), "w" : [ , ] }
可以看到,从<0,0>原点开始到周边半径为5的圆形内的点
多边形
> db.location.find({w:{$geoWithin:{$polygon:[[,],[,],[,],[,]]}}})
{ "_id" : ObjectId("5b6b6fa572ff7510af7fc783"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fa872ff7510af7fc784"), "w" : [ , ] }
{ "_id" : ObjectId("5b6b6fab72ff7510af7fc785"), "w" : [ , ] }
可以看到这个多边形内的点

geoWithin查询 多边形查询的更多相关文章

  1. Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)

    Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...

  2. 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询

    前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...

  3. Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询

    1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...

  4. HQL查询——HQL查询的基本用法

    HQL查询--HQL查询的基本用法 1.HQL语法类似于SQL语法,但是需要注意的是,HQL是一种完全面向对象的查询语言.SQL语言操作的对象是数据表.列等数据库对象,而HQL语言的操作对象是类.实例 ...

  5. MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序

    一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...

  6. LinQ实战学习笔记(三) 序列,查询操作符,查询表达式,表达式树

    序列 延迟查询执行 查询操作符 查询表达式 表达式树 (一) 序列 先上一段代码, 这段代码使用扩展方法实现下面的要求: 取进程列表,进行过滤(取大于10M的进程) 列表进行排序(按内存占用) 只保留 ...

  7. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

  8. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  9. [每日一题] OCP1z0-047 :2013-07-24 子查询――外查询与内查询的执行顺序

    一.Oracle的子查询分为两类分别是嵌套子查询和非嵌套子查询.所谓嵌套子查询是指,子查询是一个独立的查询不与外部查询相关,子查询将被先执行,而且只被执行一次,子查询执行完成后,再执行外部的查询,外部 ...

随机推荐

  1. bzoj4200: [Noi2015]小园丁与老司机(可行流+dp)

    传送门 这该死的码农题…… 题解在这儿->这里 //minamoto #include<iostream> #include<cstdio> #include<cs ...

  2. 死磕 java同步系列之synchronized解析

    问题 (1)synchronized的特性? (2)synchronized的实现原理? (3)synchronized是否可重入? (4)synchronized是否是公平锁? (5)synchro ...

  3. tput 命令行使用说明

    转载自:https://blog.csdn.net/fdipzone/article/details/9993961 什么是 tput?tput 命令将通过 terminfo 数据库对您的终端会话进行 ...

  4. thinkphp5使用phpmailer发送邮件

    1.首先让邮箱开启smtp服务,本案例使用163的SMTP服务器: smtp.163.com发送邮件 2.下载phpmailer,在tp项目里的extends文件夹下新建一个文件夹phpmailer, ...

  5. Nim && Grundy (基础博弈游戏 )

    通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法 ...

  6. 练习九:time.sleep方法

    让python程序暂停预定时间后再运行,需要用到time.sleep方法要求,随便写入一段代码,测试time.sleep方法 import time dict1 = {1:'a',2:'b',3:'c ...

  7. View转换为Bitmap及getDrawingCache

    View组件显示的内容可以通过cache机制保存为bitmap, 使用到的api有 void  setDrawingCacheEnabled(boolean flag),    Bitmap  get ...

  8. grep 显示匹配行的上下n行

    grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行grep -B 5 foo file 显示foo及前5行grep -A 5 foo file 显示foo及后5行

  9. postgresql实现插入数据返回当前的主键ID

    <insert id="addUser" parameterType="com.liupan.user"> <selectKey keyPro ...

  10. aop 切面配置

    <bean id="userServiceImpl" class="com.bj.aop.xml.before.UserServiceImpl">& ...