MongoDB学习整理之更新

来源:未知 责任编辑:责任编辑 发表时间:2014-04-20 03:42 点击:
MongoDB学习整理之更新
 
Mongodb更新有两个命令:一个是update,另一个是save
 
update命令:
        db.collection.update(criteria,objNew,upsert,multi)
 
        参数说明:
        1)criteria:查询条件,类似于update语句内where后面的内容
        2)objNew:update的对象和一些更新的操作符(如$、$inc等),也可以理解为关系型数据库update语句内set后面的内容  www.2cto.com  
        3)upsert:如果不存在update的纪录,是否插入objNew这个新的document。true为插入,默认是false,不插入
        4)multi:默认是false,只更新找到的第一条纪录,如果为true,按条件查出来的多条纪录全部更新。
 
测试:
        1)准备数据:
                { "_id" : ObjectId("4fe0595216c38fae7549540f"), "count" : 2, "test2" : "t12" }
                { "_id" : ObjectId("4fe0595816c38fae75495410"), "count" : 3, "test2" : "t12" }
        2)测试更新count > 1 的纪录的test2的值为OK1,没有加入multi值
                db.t1.update({"count":{$gt:1}},{$set:{"test2":"OK1"}})
                更新后
                { "_id" : ObjectId("4fe0595216c38fae7549540f"), "count" : 2, "test2" : "OK1" }
                { "_id" : ObjectId("4fe0595816c38fae75495410"), "count" : 3, "test2" : "t12" }
                只更新了一条数据,是因为multi默认值都是false
        3)测试更新count > 1 的纪录的test2的值为OK2,加入multi                
                db.t1.update({"count":{$gt:1}},{$set:{"test2":"OK2"}},false,true)
                更新后
                { "_id" : ObjectId("4fe0595216c38fae7549540f"), "count" : 2, "test2" : "OK2" }
                { "_id" : ObjectId("4fe0595816c38fae75495410"), "count" : 3, "test2" : "OK2" }        
        4)测试更新count > 4 的纪录的test2的值为OK, upsert:true               
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Request.ServerVariables 参数大全
  • 执行全文索引时出现权限不足的解决方法
  • 导入excel文件处理流程节点的解决方案
  • 查看sql修改痕迹(SQL Change Tracking on Table)
  • MongoDB安装为Windows服务方法与注意事项
  • App数据层设计及云存储使用指南
  • PostgreSQL启动过程中的那些事三:加载GUC参数
  • 写给MongoDB开发者的50条建议Tip1
  • Percolator与分布式事务思考(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1