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
MongoDB安装使用并实现Python操作数据库
Jun 28 MongoDB
MongoDB日志切割的三种方式总结
Sep 15 MongoDB
centos8安装MongoDB的详细过程
Oct 24 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
MongoDB支持的索引类型
Apr 11 MongoDB
Centos系统通过Docker安装并搭建MongoDB数据库
Apr 12 MongoDB
Mongodb 迁移数据块的流程介绍分析
Apr 18 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
javascript强大的日期函数代码分享
2013/09/04 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Python求均值,方差,标准差的实例
2019/06/29 Python
Django 批量插入数据的实现方法
2020/01/12 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
python 绘制正态曲线的示例
2020/09/24 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
优秀班主任推荐材料
2014/12/17 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
教育读书笔记
2015/07/02 职场文书
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
linux目录管理方法介绍
2022/06/01 Servers
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS