• 第三节 基本操作之数据--------更新


    102update({key1: value1},{key2:value2})                               //{key1: value1}是修改前的键值对  {key2:value2}修改后的键值对

    查询一个x=2的数据

    db.config_collection.find({x:2})

    修改它的值为100

    db.config_collection.update({x:2},{x:100})

    再次查询x=2的值 结果没有这个值

    查询x=100的值   存在并且_id 为1  表明修改成功

     

    部分数据修改


    添加一条数据到集合

    db.config_collection.insert({x:101,y:100,z:100})

    查询是否添加到

    修改这条数据的x值为110 其他值不变

    错误的方法

    db.config_collection.update({x:101},{x:110})  //语句本身没错  错误的是你覆盖了y,z的值

    $set:{key:value} 保持部分更新 字段中不更新的字段保持原样

    正确方法

    db.config_collection.update({x:110},{$set:{y:0}})
    修改x=110的y值为0

     

     查询

     修改一条不存在的数据并添加这条数据 参数 true

    查找一条不存在的数据 并且修改他

     多文档更新

    更新集合中所有x=102的所有数据

    添加3条x=102的数据

    查询x=102的数据

    修改102的数据

    查询102

    只改了1条

    多条修改

    db.config_collection.update({x:102},{$set:{x:104}},false, true)  //第一个参数是要修改的数据 ,第二个参数是修改后的值。($set{}避免覆盖别的数据) ,第三个参数 如果没有这个参数 不会创建新的, 第四个参数是否修改全部的数据

     第三个参数:upsert值默认为false——未找到匹配时不插入新记录。(这里c:1已经存在)
    第四个参数:multi——更新满足查询条件的多条记录。

     

  • 相关阅读:
    2.2.3 线程中断
    java枚举 用于声明持久化常量 和volley 请求头
    java获取昨天的日期
    使用LocalBroadcastManager
    大端模式与小端模式
    Android更新主线程UI的两种方式handler与runOnUiThread()
    android dialog圆角显示及解决出现的黑色棱角.(友情提示)
    html5中的新标签
    html中的title和alt
    Android开发之蓝牙Socket
  • 原文地址:https://www.cnblogs.com/limit1/p/8109152.html
Copyright © 2020-2023  润新知