MongoDB更新文档

Posted 霓羽决奕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。实现了网站统计访问量的需求。。

 

以上是关于MongoDB更新文档的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Data MongodB 更新嵌入式 mongodb 文档中的数组字段?

03 MongoDB文档的各种增加更新删除操作总结

MongoDB 更新文档

03 MongoDB文档的各种增加更新删除操作总结

更新嵌套的 MongoDB 文档对象

MongoDB创建更新删除文档操作