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——更新满足查询条件的多条记录。
