1、remove删除命令
查询表达式
删除name=zhangsan
删除age大于10
删除age小于11
大于等于:lte
不等于:$ne
只删除一个,{justOne:true},默认全部删除
更新update
语法: db.collection.update(查询表达式,新值,选项)
如果使用下面语句,不是更新数据,而是更新文档。更新就是用新文档替换旧文档。
所以update操作想要更新文档内容,必须和更新的操作符配合使用。
set 修改某列的值
unset 删除某个列
rename 重命名某个列
inc 增长某个列
查: find
语法: db.collection.find(查询表达式,查询的列);
nin --> not in
_id:只有在指定不显示,才会没有,不写默认都是显示的
其他列,不指定显示或者不显示,都是不显示。
指定显示的列,0不显示,1是显示。
all:指数组所有单元匹配,就是指我指定的内容都要有,通过一个list来指定
exists:是否含有默个列
{exists:1}表示存在指定字段。
{exists:0}表示不存在指定字段。
聚合操作
db.COLLECTION_NAME.aggregate( [ {管道1}, {管道2}, {管道3}, … ] )
//查询每个栏目下的商品数量
//查询goods下有多少条商品
Count()计算查询结果的数量
Limit(2)查看指定数量的结果
//查询每个栏目下价格大于50元的商品个数
解决思路:
(1)找出价格大于50的信息
(2)按cat_id分组,求数量
//查询每个栏目下的库存量
库存量:商品的数量
//查询每个栏目下 价格大于50元的商品个数 #并筛选出"满足条件的商品个数" 大于等于3的栏目
思路:
(1) 筛选出价格大于50
(2) 按cat_id分组,求出每个组下面的商品个数{KaTeX parse error: Expected 'EOF', got '}' at position 6: sum:1}̲ (3) 筛选出商品数量大于3…sort:{total:1}}:按total这个列排序,1表示升序,-1表示降序
//查询每个栏目的商品平均价格,并按平均价格由高到低排序
思路:
(1)按栏目分组后,求shop_price的平均值
(2)按平均值排序,升序