MongoDB--增删改查操作

五、增删改查操作

1、添加文档

语法: db.集合名.insert({k1:’v1’,k2:’v2’……})

在这里插入图片描述

注意点:
(1)文档就是键值对,数据类型是BSON格式,支持的值更加丰富。

在这里插入图片描述

比如:db.集合名.insert({name:’xiaobai’,spc:{weight:100,address:’guangzhou’}})

(2)在添加的文档里面,都有一个’_id’的键,值为对象类型。

在这里插入图片描述

ObjectId类型:
每个文档都有一个_id字段,并且同一集合中的_id值唯一,该字段可
以是任意类型的数据,默认是一个ObjectId对象。
ObjectId对象对象数据组成:时间戳 |机器码|PID|计数器
_id的键值我们可以自己输入,但是不能重复

在这里插入图片描述

注意:在插入数据的时候,如果_id的值重复则会报错。

在这里插入图片描述

(3)可以使用js代码来完成批量插入文档。

在这里插入图片描述

2、删除文档

语法:db.集合名.remove({条件})(不写条件删除所有的文档)
例1:删除 php 集合中年龄等于5的文档

db.php.remove({age:5})

在这里插入图片描述

例2:删除 php 集合中年龄大于7的文档
使用操作符来完成
常用操作符:

$lt , $lte , $gt , $gte   ( < , <= , > , >= ), $ne ( <> ) ,$in , $nin ,  $or ,  $not,  
$mod (取模),  $exists, $where 
db.php.remove({age:{$gt:7}})

在这里插入图片描述

3、更新文档

方法一,直接修改

语法:db.集合名.update({条件},{新的文档})
语法: db.集合.update(条件,新文档, 是否新增, 是否修改多条)
是否新增:如果值是1(true)则没有满足条件的则添加。
是否修改多条:若值是1(true),如果满足条件的有多个文档则都要修
改,

案例1:在PHP集合里面,要修改age=4的文档名称为xiaosi

db.php.update({age:4},{name:’xiaosi’})

在这里插入图片描述

方法二,使用修改器
案例2:要修改age=3的文档名称为xiaosan,并且其他键值不能丢失
使用修改器

$inc : 加一个数字
$set : 修改某一个字段,如果该字段不存在就增这个字段
语法:db.集合名.update({条件},{修改器名称:{修改的键:修改的新值}})
db.php.update({age:3},{$set:{name:’xiaosan’}})

在这里插入图片描述

案例3:要修改age=1的文档的年龄添加10岁

db.php.update({age:1},{$inc:{age:10}})

在这里插入图片描述

4、查询文档

语法:db.集合名.find({条件})
案例1:取出php集合里面第一个文档

db.php.findOne();

在这里插入图片描述

案例2:取出php集合里面age=2的文档

db.php.find({age:2})

在这里插入图片描述

案例3:取出php集合里面age大于2的文档

db.php.find({age:{‘$gt’:2}})

在这里插入图片描述

案例4:取出php集合里面的文档,只显示name键

db.php.find({},{age:1})//1表示只显示age键值

在这里插入图片描述

db.php.find({},{age:0})//0表示除了age键值,其他的都显示。

在这里插入图片描述

案例5:根据年龄的(降序|升序)来显示文档

db.集合名.find().sort({age:1})根据年龄升序
db.集合名.find().sort({age:-1})根据年龄降序

在这里插入图片描述

案例6:显示php集合中前3个文档。

db.php.find().limit(3)

在这里插入图片描述

案例7:显示php集合中第3个文档到第5个文档。

db.php.find().skip(2).limit(3)

在这里插入图片描述

案例8:统计php集合中文档的个数

db.集合名.count():返回集合中有多少个文档。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值