首页 > 数据库技术 > 详细

MongoDB更新文档

时间:2016-06-05 18:29:41      阅读:194      评论:0      收藏:0      [点我收藏+]

说明:来看一下关系型数据库的update语句

 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某

其中where子句就类似查询文本,定位要更改的子表,set子句类似于修改器,更新哪些内容。

1.1文档替换

  就是用一个新的文档完全替换匹配的文档。用于进行大规模模式数据的迁移。

例如:

技术分享

如果要将friends和enemies两个字段迁移到relationships子文档中。可以进行如下操作

step1:

var joe=db.users.findOne({"name":"joe"})

joe.relationships={friend:joe.friends,enemies:joe.enemies}

技术分享 

同样的原理获取:

joe.username=joe.name;

技术分享 

然后删除原来文档中的friends,enemies,name

技术分享  

step2:更新文档

db.users.update({name:"joe"},joe)

解释一下:{name:"joe"}就是要更新的目标文档,joe就是修改器,说明要修改的内容

技术分享 

最后的joe文档内容:

技术分享   

1.2使用修改器

通常文档只会有有一部分数据要更新,可以使用原子性的更新修改器(update modifier),指定对文档中的某些字段进行修改。

假设:要在某个集合中存放网站的分析数据,只要有人访问页面,就增加计数器。可以使用更新器修改原子性地完成这个增加。

技术分享

每次有人访问,就通过url找到该页面,并用"$inc"修改器来增加"pageviews"的值

>db.analytics.update({url:"www.example.com"},{"$inc":{pageviews:1}})

技术分享

然后再执行一次db.analytics.find()

数据如下:

技术分享

数据就增加1。实现了网站统计访问量的需求。。

 

MongoDB更新文档

原文:http://www.cnblogs.com/lwy19998273333/p/5561173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!