e2

滴滴侠,fai抖

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

插入:

 

说明:插入一条数据,指定唯一[全局]ID=1,然后X=2

 

说明:插入一百条数据

 

 

查询:

 

说明:查询X=1的记录

 

说明:查询此集合的所有记录,跳过前3条,然后取前2条,根据X排序(升)

 

 

更新:

 

说明:第一个为查询条件,然后X=999并覆盖所有

 

说明:查询Z=100的记录,如果有Y,则更新Y=99

 

说明:查询Y=100,如果记录不存在,则创建Y=999的一条记录,如图:

说明:_id没有指定,则自动生成

 

 

查询+更新:

 

说明:插入3条C=1的记录

说明:根据C=1,只更新第一条记录为C=2

说明:根据C=1,同时更新第二,三条记录为C=2

 

 

删除:

 

说明:删除了3条记录,注意remove()不允许不传参数

 

说明:删除这个集合,等于删除所有记录

 

 

索引:

 

说明:获得此集合的所有索引,结果为有一个索引 _id=1

说明:为X创建索引,{x:1}为正向创建,{x:-1}为反向创建,查询更高效[记录不遍历,索引直接指]

 

说明:预先创建time正向索引,10秒后过期,之后会删除连带索引对应的记录

 

 

全文索引:

 

说明:为article创建全文索引,然后搜文全文,格式如上

说明:这里查询的空格是"或"条件

说明:这里查询的负号是不包含

说明:这里查询的""号是"与"条件,本身存在"",所以需要转义加反斜杠

说明:全文搜索[相似度],返回结果带相似度的,可以用于排序

说明:如上为排序后的

 

 

全文索引补充:

 

 

 

索引属性:

 

说明:创建复合索引,并指定名字[默认自动提供值为x_1_y_1_z_1_m_1],可以指定名字删除索引

说明:创建key m的正向和key n的正向索引组合,并且插入的key value不允许重复

说明:查询key m有值的记录

说明:创建存在key m的索引,若不存在key m的记录则不创建该记录索引

说明:查询不存在key m的记录,并强制指定name为m_1(key m正向索引)的记录,返回结果无

 

 

2D索引:

 

说明:查询方式

说明:形状表示方式

 

 

$near查询:

 

说明:创建字段w的2D索引

说明:,超过范围查询不到

说明:查询key w距离[1,1]最近的100个点

说明:查询key w距离[1,1]最近的100个点,限制最大距离10,near不支持$minDistance

 

 

$geoWithin查询

 

说明:查询矩形中[0,3]到[3,3]范围内的点

说明:查询圆形中,[0,0]表示圆心,5表示半径,范围内的点

说明:查询图形中,如上图范围的点

 

 

$geoNear查询

 

说明:geoNear是near的进化版,如上,第一个参数为geoNear:集合名字,第二个参数为near:坐标,第三个参数为minDistance:对简单near[索引]无效,num:限制返回的数目

说明:查询集合是location,距离[1,2]最近的点,并限制最大距离为10,取返回的第一个

 

 

2dsphere索引:

 

说明:w表示字段,值为球体,type表示类型,值为形状[若值为Polygon,则coordinates(坐标)可以为多个,若为其它形状,参数不同],试例:

db.集合.find({字段:{$geoWithin:{$geometry:{type:"Polygon",coordinates:[[[0,0],[3,6],[6,1],[0,0]]]}}}})

 

posted on 2017-04-27 20:36  纯黑Se丶  阅读(91)  评论(0编辑  收藏  举报