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

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

 

 

posted @ 2017-12-25 14:15  胡进东  阅读(157)  评论(0编辑  收藏  举报