MongoDB的增删改查

数据查询

数据查询用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、 match2group:按指定的标识符表达式对输入文档进行分组,并为每个不同组输出一个文档;
3、 s o r t : 通 过 指 定 的 排 序 键 对 文 档 流 重 新 排 序 ; 4 、 sort:通过指定的排序键对文档流重新排序; 4、 sort4count:返回聚合管道此阶段的文档数计数;
5、 p r o j e c t : 重 塑 流 中 的 每 个 文 档 , 例 如 添 加 新 字 段 或 删 除 现 有 字 段 ; 6 、 project:重塑流中的每个文档,例如添加新字段或删除现有字段; 6、 project6limit:将未修改的前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)
说明:

  1. 修改器是可选的,mongo提供多种修改器,可以选择其中一种或者不选择,如不使用修改器则为强制修改,根据条件查询出的文档将被新文档替换。
  2. 第三个参数默认为false,当为true时,其执行方式类似于hibernate的saveOrUpdate,即若有匹配文档时进行更新,若无时则进行插入操作。
  3. 第四个参数默认为false,当为true时表示批量修改,为false时只修改匹配的第一条。当批量修改时(参数为true)则需要有一个修改器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值