插入:

说明:插入一条数据,指定唯一[全局]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]]]}}}})

浙公网安备 33010602011771号