东莞订制网站建设,wordpress上传到空间,广告平台有哪些,做网站的积木式编程个人博客
整理mongodb文档:改 求关注#xff0c;求批评#xff0c;求进步
文章概叙
本文主要讲的是mongodb的updateOne以及updateMany#xff0c;主要还是在shell下进行操作#xff0c;也讲解下主要的参数upsert以及更新的参数。
数据准备
本次需要准备的数据不是很多…个人博客
整理mongodb文档:改 求关注求批评求进步
文章概叙
本文主要讲的是mongodb的updateOne以及updateMany主要还是在shell下进行操作也讲解下主要的参数upsert以及更新的参数。
数据准备
本次需要准备的数据不是很多就两条就可以了
db.test.insertMany([{ string: a, number: 1 },{ string: A, number: 1 }
])updateOne
Updates a single document within the collection based on the filter. 顾名思义在过滤筛选的结果上更新单个文档示例代码如下
db.test.updateOne({ string: a },{ $set: { string: a1, number: 1 } },{ upsert: true }
)这儿传入了三个参数第一个是我们的filter也就是过滤条件而我们操作的数据就是根据这个过滤条件查询出来的如果返回的数据有多条则只操作第一条。
第二个参数是更新操作$set代表的是设置值属于更新运算符的范畴具体可以看下面链接理解更多的操作符。 Update Operators — MongoDB Manual
第三个参数是配置项最经常用到的是upsert以及collation文章下面也会讲到这儿只是大概讲解该api的结构。 最终更改后的结果如下可以看到已经将原来的a更改为了a1.
updateMany
Updates all documents that match the specified filter for a collection. 顾名思义在过滤筛选的结果上更新所有的文档老规矩先来一个例子作为讲解。
db.test.updateMany({ number: 1 },{ $set: { string: a1, number: 1 } },{ upsert: true }
)对于该API的参数也跟上面的updateOne差不多只是更新的是查询出来的全部数据。 update
需要注意的是该api在5.0之后就不建议使用了就废弃了。
默认情况下update用于更新单个文档如果需要更新多个文档需要用到multi选项。 下面是一个简单的实例只是让大家看下这个语法怎么用而已毕竟已经是一个废弃的API了。
db.test.update({ number: 1 },{ $set: { string: a1, number: 1 } },{ upsert: true ,multi:true}
)介绍完了三个最主要的API的用法接下来用updateMany作为例子讲下几个主要的参数。
update
update是指我们要更新的操作最简单的例子就是使用$set。update的操作有两种类型下面先介绍如何使用更新运算符操作。 更新运算符有三种类型最常用的是数组以及字段的更新运算符下面会拿字段的更新运算符做个例子先抄录表格如下
$set之前已经试过了现在试试$currentDate来给一个字段赋值当前的时间。
db.test.updateMany({ number: 1 },{ $currentDate: { lastModified: true } },{ upsert: true, multi: true }
)其他的用法再看文档的实例用起来不会有什么难度。
upsert
Creates a new document if no documents match the . For more details see filterupsert behavior. 文档中对于upsert的解释是如果没有找到文档时候是否创建。下面用一个简单的例子来说明
db.test.updateMany({ number: 2 },{ $currentDate: { lastModified: true } },{ upsert: true, multi: true }
)可以看到 当我们运行语句的时候upsert为true则表示没有找到number为2的数据的情况下mongodb帮我们创建了一条数据。相同如果upsert为false则不会创建。
collation
之前有专门的博客讲解过这个参数就不专门再说了collation影响的是查数据出来的顺序 整理mongodb文档:collation
聚合管道
聚合管道可以理解为一堆数据先通过a操作然后再通过b操作最后将数据整合成为自己想要的模型在更新操作中聚合管道有下面几个阶段。
$addFields
$set
$project
$unset
$replaceRoot
$replaceWith这儿我会通过一个简单的例子让大家了解下如何使用聚合管道而关于具体的聚合管道后续会写个博客介绍本文章最主要是让大家对这几个api有了解不会很一脸茫然。
举个例子下面的代码会将我们之前的number等于2的数据删除掉lastModified字段增加string字段
db.test.updateMany({ number: 2 },[{ $project: { lastModified: 0 } },{ $set: { string: a2 } }],{ upsert: true }
)最后的点
至此关于update的几个主要的点讲解完毕对于新手我不建议现在去看聚合管道所以没马上讲我的建议是先看完增删改查。 最后你觉得上单锐雯怎么玩呢来个大佬。。。。