MongoDB数据库之添删改查


Posted in MongoDB onApril 26, 2022

一、增加

insert向数据库中插入集合

插入一条记录,传入集合

db..insert()
db.students.insert({name:"唐僧",age:60,gender:"M"})

插入多条记录,传入数组

db.students.insert([{name:"猪八戒",age:53,gender:"M"},{name:"沙僧",age:50,gender:"M"}])

默认生成时间戳id,确保数据唯一,原理是调用如下语句,可以自行指定id

默认:

ObjectId()

自行指定:

db.students.insert({_id:"001",name:"白骨精",age:60,gender:"W"})

MongoDB数据库之添删改查

insertOne向数据库中插入集合

插入一个文档对象,只能传入一个文档,不能传入数组

db.students.insertOne({_id:"002",name:"铁扇公主 ",age:60,gender:"W"})

insertMany向数据库中插入集合

插入多个文档对象,只能传入一个数组,即使只存在一个文档,不能传入文档

db.students.insertMany([{_id:"004",name:"牛魔王",age:60,gender:"M"},{_id:"005",name:"红孩儿",age:60,gender:"M"}])

其实是对insert的拆分

二、查询

查询集合中所有符合条件的文档

find进行查询集合所有文档

db.students.find();
db.students.find({});

find进行条件查询

{}:表示集合中所有文档;

{属性:值} 查询属性是指定值的文档

db.students.find({_id:"002"});

db.students.find({_id:"002",name:"刘德华"});

db.students.find({_id:"002"}).count(); ----查看查询的文档的数量

db.students.find({_id:"002"}).length();

find返回值为数组,可以通过下标获取对应值

findOne进行条件查询

findOne返回的为Object,可以用返回值.对象

查询集合中符合条件的第一个文档,最多一条文档

db.students.findOne({name:"AideHua"});

三、修改

update(查询条件,新对象)

db..update(查询条件,新对象)

如:db.students.update({_id:"002"},{age:18}) 注意:将会用新对象{age:18}替换之前旧对象

修改前

MongoDB数据库之添删改查

修改后

MongoDB数据库之添删改查

update(查询条件,{$set:修改文档属性})

db.students.update({_id:"004"},{$set:{age:180}})

MongoDB数据库之添删改查

修改操作符

set ------修改文档指定属性

unset------删除文档指定属性(和值无关)

默认只会修改一个

如果想要进行修改多个,指定可选参数multi

db.students.update({_id:"004"},{$set:{age:880}},{multi:true})

updateMany()

同时修改多个符合条件的文档

匹配多少个,就会修改多少个的值

db.students.updateMany({_id:"004"},{$set:{age:180}})

updateOne()

修改一个符合条件的文档

只会修改匹配的第一个

db.students.updateOne({_id:"004"},{$set:{age:180}})

replaceOne()

替换文档

四、删除

remove()

删除符合条件的而所有文档,默认删除所有,删除单个需要指定可选参数justOne为:true

删除多个,默认情况

db.students.remove({name:"Liming"})

删除单个

db.students.remove({name:"Liming"},true)

必须指定参数,否则报错,注意和find()区别

db.students.remove();//报错

删除所有文档,但是集合还是存在的

db.students.remove({});

删除集合,若是数据库的最后一个人集合,那么数据库也会被删除

db.students.drop();

deleteOne()

删除一个

db.students.deleteOne({name:"Liming"})

deleteMany()

删除多个

db.students.deleteMany({name:"Liming"})

到此这篇关于MongoDB实现增删改查的文章就介绍到这了。


Tags in this post...

MongoDB 相关文章推荐
MongoDB使用profile分析慢查询的步骤
Apr 30 MongoDB
MongoDB数据库的安装步骤
Jun 18 MongoDB
MongoDB 常用的crud操作语句
Jun 20 MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
剖析后OpLog订阅MongoDB的数据变更就没那么难了
Feb 24 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 MongoDB
MongoDB数据库部署环境准备及使用介绍
Mar 21 MongoDB
MongoDB误操作后使用oplog恢复数据
Apr 11 MongoDB
MongoDB支持的数据类型
Apr 11 MongoDB
Mongodb 迁移数据块的流程介绍分析
SpringBoot集成MongoDB实现文件上传的步骤
Apr 18 #MongoDB
Centos系统通过Docker安装并搭建MongoDB数据库
MongoDB修改oplog大小的四种方法
Apr 11 #MongoDB
MongoDB支持的索引类型
Apr 11 #MongoDB
MongoDB支持的数据类型
Apr 11 #MongoDB
MongoDB误操作后使用oplog恢复数据
Apr 11 #MongoDB
You might like
PHP里的中文变量说明
2011/07/23 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
PDO::_construct讲解
2019/01/27 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
python中的字典详细介绍
2014/09/18 Python
Python二分法搜索算法实例分析
2015/05/11 Python
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
django删除表重建的实现方法
2019/08/28 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
python 利用zmail库发送邮件
2020/09/11 Python
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
关于教师节的广播稿
2014/09/10 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
2014年银行年终工作总结
2014/12/19 职场文书