学习笔记☞ MongoDB(芒果数据库) ☞【修改命令,修改器操作符,索引,聚合】

这篇博客详细介绍了MongoDB中数据的修改,包括修改器操作符如$set、$unset、$inc等,以及数组修改器的使用。同时,文章也深入探讨了数据类型补充,如时间类型和null的处理。此外,重点讲述了索引的定义、创建、查看、删除及不同类型的索引,如复合索引、唯一索引等。最后,文章讨论了聚合操作,包括$group、$match、$sort等操作符的使用,帮助读者理解MongoDB的数据聚合过程。
摘要由CSDN通过智能技术生成

修改数据

mysql修改数据:
    update tablename set 修改后的字段名和指 where ……

1、MongoDB修改:

    命令:
        db.collectionName.update(query,update,upsert,multi)
    功能:
        修改一个文档
    参数:
        query:    
            筛选要修改的文档,相当于mysql中where子句,用法同查找
        update:
            将数据更新为什么内容    相当于set操作
            需要使用修改器操作符
        upsert:
            布尔值,默认为false,表示如果query的文档不存在,则无法修改
            设置为true,表示如果query的文档不存在,则根据query和update参数插入新的文档
        multi:
            bool值,默认为false,表示如果有多条符合筛选条件的文档,则只修改第一条
            若为true,表示修改所有符合条件的文档
    示例:
        # (前两个参数)将阿红年龄修改为24
            db.class0.update({name:'阿红'},{$set:{age:24}})
        # (第三个参数示例) 如果筛选数据不存在则插入一个新的文档
            db.class0.update({name:'啊'},{$set:{age:18,sex:'w'}},true)
        # (第四个参数示例) 可以修改多条匹配到的文档
            db.class0.update({sex:'w'},{$set:{age:18}},false,true)

2、修改器操作符:

    1、$set

        功能:
            1、修改一个域的值
            2、增加一个域
        示例:
            # 增加一个sex属性
            db.class0.update.({name:'阿红'},{$set:{sex:'w'}})

    2、$unset

        功能:
            删除一个域
        示例:
            # 删除文档的sex和age域(后面数字习惯写1或0)
            db.class0.update({name:'悟空'},{$unset:{sex:0,age:0}})

    3、$rename

        功能:
            修改域的名称
        示例:
            # 修改sex域名称为gender,必须有第四个参数,否则修改一文档的域名称
            db.class0.update({},{$rename:{sex:'gender'}},false,true)

    4、$setOnInsert

        功能:
            如果update操作插入新的文档,则丰富插入内容
        示例:
            #无阿华的文档,则插入并补充setOnInsert内容,如果有阿华的文档则仅设置年龄为21
            db.class0.update({name:'阿华'},{$set:{age:21},$setOnInsert:{sex:'m',tel:'123456'}},true)

    5、$inc

        功能:
            加减修改器
            对某个与的值进行加减
            值必须为数值
        示例:
            # 所有年龄小于18的,年龄减2
            db.class0.update({age:{$lt:18}},{$inc:{age:-2}},false,true)
        注:
            $inc 可加减 整数 负数 小数 都可以

    6、$mul

        功能:
            乘法修改器
        示例:
            # 阿华年龄乘2
            db.class0.update({name:'阿华'},{$mul:{age:2}})
        注:
            $mul可乘 整数 负数 小数 都可以

    7、$min

        功能:
            设置最小值
            如果筛选的文档指定的域值小于min值则不修改,如果大于min值则改为min值
        示例:
             db.class0.update({},{$min:{age:19}},false,true)

    8、$max

        功能:
            设定最大值
            如果筛选的文档指定的域值大于max值则不修改,如果小于max值则改为max值
        示例:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值