• MongoDB_05_更新和删除


    文档的更新和删除

    • 更新文档的方法:

      db.collection.update(query,update,options)
      //或
      db.collection.update(
      	<query>,                   --类似于sql中的where 字句
          <update>,			       --要更新的字段值
          {
              upsert: <boolean>,
              multi: <boolean>,
              writeConcern: <document>,
              collection: <document>,
              arrayFilters: [<filterdocument1 >,...],
              hint: <document|String>
          }
      )
      -------------------------------------------------------
      
      示例:
       (1):覆盖的修改 ---不推荐
         如果我们想修改_id为1的记录,点赞量会520,这输入以下语句
      db.comment.update({_id:"1"},{likenum:NumberInt(520)})
      
      执行后我们发现,这条文档除了likenum字段,其它字段都不见了
      
      (2):局部修改---使用 $set修改器
      db.comment.update({_id:"2"},{$set:{likenum:NumberInt(520)}})
      
      执行:
      > db.comment.update({_id:"2"},{$set:{likenum:NumberInt(520)}})
      WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
      
      > db.comment.findOne({_id:"2"})             #查找
      {
              "_id" : "2",
              "articleid" : "100002",
              "content" : "我爱你,绩憨憨2",
              "userid" : "1002",
              "nickname" : "hanhan",
              "createdatetime" : ISODate("2020-02-27T14:17:24.708Z"),
              "likenum" : 520,
              "state" : null
      }
      
      
      (3);批量修改
      修改所有nickname:"hanhan" 为 "jihanhan"
      
      > db.comment.find({})
      { "_id" : ObjectId("5e57cc7d24335849dc4a2ab8"), "articleid" : "100000", "content" : "我爱你,中国", "userid" : "1001", "nickname" : "Rose", "createdatetime" : ISODate("2020-02-27T14:04:45.459Z"), "likenum" : 10, "state" : null }
      { "_id" : "2", "articleid" : "100002", "content" : "我爱你,绩憨憨2", "userid" : "1002", "nickname" : "hanhan", "createdatetime" : ISODate("2020-02-27T14:17:24.708Z"), "likenum" : 520, "state" : null }
      { "_id" : "3", "articleid" : "100003", "content" : "我爱你,绩憨憨3", "userid" : "1003", "nickname" : "hanhan", "createdatetime" : ISODate("2020-02-27T14:17:24.709Z"), "likenum" : 10, "state" : null }
      { "_id" : "4", "articleid" : "100004", "content" : "我爱你,绩憨憨4", "userid" : "1004", "nickname" : "hanhan", "createdatetime" : ISODate("2020-02-27T14:17:24.709Z"), "likenum" : 10, "state" : null }
      
      //默认只修改第一条匹配的数据
      db.comment.update({nickname:"hanhan"},{$set:{nickname:"jihanhan"}})
      
      //修改所有符合条件的数据---添加字段{multi:true}
      db.comment.update({nickname:"hanhan"},{$set:{nickname:"jihanhan2"}},{multi:true})
      
      
      执行 :
      > db.comment.update({nickname:"hanhan"},{$set:{nickname:"jihanhan"}})
      WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
      
      > db.comment.update({nickname:"hanhan"},{$set:{nickname:"jihanhan2"}},{multi:true})
      WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
      
      
      (4):列值增长的修改
       实现对某列值在原有值的基础上进行增长或者减少,可以使用$inc运算符来实现。
      需求:对3号数据的点赞数,每次递增1
      db.comment.update({_id:"3"},{$inc:{likenum:NumberInt(1)}})
      
      执行:
      > db.comment.update({_id:"3"},{$inc:{likenum:NumberInt(1)}})
      WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
      
    • 删除文档

      删除文档的语法结构
      db.集合名称.remove(条件)
      
      以下语句可以全部删除:------慎用
      db.comment.remove({})
          
      
      如果删除_id="2"的记录
      执行:
      db.comment.remove({_id:"2"})
      WriteResult({ "nRemoved" : 1 })
      
  • 相关阅读:
    WINCE串口驱动MDD层代码简单分析
    WinCE下,快速编译驱动及BSP
    如何使用ulink2烧写二进制文件
    PB6.0 快速编译单个驱动技巧
    WinCE5.0和WinCE6.0下,编译选项介绍
    WINCE串口驱动PDD层代码简单分析
    浅谈WinCE平台USB摄像头驱动开发流程
    WinCE中,环境变量的添加,删除和查询
    WinCE API
    WINCE 6.0安装顺序说明
  • 原文地址:https://www.cnblogs.com/zhoujun007/p/12377347.html
Copyright © 2020-2023  润新知