数据查询
数据查询用find:db.collectionname.find()
db. OriginalMonitoringData.find({SensorCommonId:"4fcee0dc-2cc6-47dd-b6db-4491b4f4daa2"})
高级查询基本命令:
//聚合基本命令
db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } }
])
1、
m
a
t
c
h
:
筛
选
文
档
流
,
以
仅
允
许
匹
配
的
文
档
未
经
修
改
地
传
递
到
下
一
个
管
道
阶
段
;
2
、
match:筛选文档流,以仅允许匹配的文档未经修改地传递到下一个管道阶段; 2、
match:筛选文档流,以仅允许匹配的文档未经修改地传递到下一个管道阶段;2、group:按指定的标识符表达式对输入文档进行分组,并为每个不同组输出一个文档;
3、
s
o
r
t
:
通
过
指
定
的
排
序
键
对
文
档
流
重
新
排
序
;
4
、
sort:通过指定的排序键对文档流重新排序; 4、
sort:通过指定的排序键对文档流重新排序;4、count:返回聚合管道此阶段的文档数计数;
5、
p
r
o
j
e
c
t
:
重
塑
流
中
的
每
个
文
档
,
例
如
添
加
新
字
段
或
删
除
现
有
字
段
;
6
、
project:重塑流中的每个文档,例如添加新字段或删除现有字段; 6、
project:重塑流中的每个文档,例如添加新字段或删除现有字段;6、limit:将未修改的前n个文档传递到管道,其中n是指定的限制文档数;
7、unwind:从输入文档中解构一个数组字段,以输出每个元素的文档;
8、$lookup:对同一数据库中的另一个集合执行左外部 联接,以过滤“联接”集合中的文档以进行处理;
数据新增
使用insert函数:db.collectionName.insert(内容)
collectionName为数据表名称
use Shms
db.OriginalMonitoringData.insert({"age":18,"name":"xiaogou"})
数据删除
数据删除分为两种,一种是批量删除用db.collectionName.deleteMany(内容)
一种是用remove删除db.collectionname.remoe(条件)
还可以
db.collectionname.drop()
删除整个collection
db.OriginalMonitoringData.deleteMany({SensorCommonId:"4fcee0dc-2cc6-47dd-b6db-4491b4f4daa2"})
db.OriginalMonitoringData.remove({SensorCommonId:"4fcee0dc-2cc6-47dd-b6db-4491b4f4daa2"})
数据更改
数据更新使用updata:
1、只修改了其中一个db.mytest.update({“age”:18},{“age”:19}))
2、批量修改:db.mytest.update({“age”:18},{KaTeX parse error: Expected 'EOF', got '}' at position 15: set:{“age”:19}}̲,false,true); m…set : {sex : “M”, age : 34}}, true, false)
说明:
- 修改器是可选的,mongo提供多种修改器,可以选择其中一种或者不选择,如不使用修改器则为强制修改,根据条件查询出的文档将被新文档替换。
- 第三个参数默认为false,当为true时,其执行方式类似于hibernate的saveOrUpdate,即若有匹配文档时进行更新,若无时则进行插入操作。
- 第四个参数默认为false,当为true时表示批量修改,为false时只修改匹配的第一条。当批量修改时(参数为true)则需要有一个修改器。