MongoDB更新文档

说明:来看一下关系型数据库的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。实现了网站统计访问量的需求。。

原文地址:https://www.cnblogs.com/lwy19998273333/p/5561173.html