MongoDB文档的CRUD操作

MongoDB文档操作详解:插入、查询、删除与更新
这篇博客详细介绍了MongoDB中的文档操作,包括如何插入单条和多条文档,使用脚本批量插入,查询全部文档,删除文档的条件与策略,以及更新文档的各种方式,如替换更新、条件更新和多条更新。文章还强调了_id字段的唯一性和更新操作中的upsert选项。


文档可以说是集合中的最小单元了。
附上官方文档地址,我也是学习的官方的。
https://www.mongodb.com/docs/manual/reference/insert-methods/

插入文档

单条文档

db.集合名称.insert({"name":"xiang","age":18,"address":"湖北武汉"})

在这里插入图片描述

多条文档

db.集合名称.insertMany(
[<document1>,<document2>,...],
writeConcern : 1, //写入策略,默认为1,即要求确认写操作,0是不要求。
ordered : true //指定是否按顺序写入,默认true,按顺序写入。

)

在这里插入图片描述

db.集合名称.insert([
{"name":"xiang","age":"18","address":"湖北武汉"},
{"name":"zhang","age":"16","address":"湖北武汉"}
])

在这里插入图片描述

脚本方式

for(let i=1;i<20;i++){
db.user.insert({_id:i,name:'xiang'+i,age:i+10});
 }

注意:

在mongodb中每个文档都会有一个_id作为唯一标识,_id默认会自动生成如果手动指定将使用手动指定将使用手动指定的值作为_id 的值。

查询

查询全部

db.集合名称.find();

在这里插入图片描述

删除文档

db.集合名称.remove(
<query>,
{
 justOne:<boolean>,
 writeConcern:<document>
}
)

参数说明:
query:可选 删除的文档的条件。
justOne:可选 如果设置为true或者1,则只删除一条文档,如果不设置改参数,或使用默认值false,则删除所有匹配条件的文档。
writeConcern:可选 抛出异常的级别.

这样写是删除全部?no
在这里插入图片描述只要要穿一个空参数,这里我就不执行了。在这里插入图片描述

更新文档

db.集合名称.update(
<query>,
<update>,
{
upsert: <boolean>,multi : <boolean>,
writeConcern: <document>
}
);

参数说明:
query : update的查询条件,类似sql update查询内where后面的。

update : update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sqlupdate查询内set后面的

upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

writeConcern: 可选,抛出异常的级别。

重要

 db.集合名称.update( {"name" : "zhangsan" }) , iname : "11",bir:new date()})
- `这个更新是将符合条件的全部更新成后面的文档,相当于先删除在更新

db.集合名称.update( { "name" : "xiaohei" } ,{$set: {name : " mingming" )})
`保留原来数据更新,但是只更新符合条件的第一条数据`

db.集合名称.update({name :'小黑'},{$set : {name: "小明"}},{multi:true})
`保留原来数据更新,更新符合条件的所有数据`

 db.集合名称.update( {name :'小黑'},{$set : {name :'小明'}},{multi:true, upsert:true})
`保留原来数据更新,更新符合条件的所有数据没有条件符合时插入数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值