码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB更新文档

时间:2016-06-05 18:30:46      阅读:166      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!