MongoDB学习总结(二) —— 基本操作命令(增删改查)
上一篇介绍了MongoDB在Windows平台下的安装,这一篇介绍一下MongoDB的一些基本操作命令。
下面我们直奔主题,用简单的实例依次介绍一下。
> 查看所有数据库 (show dbs) |
> 插入文档 (insert) |
格式:> db.COLLECTION_NAME.insert(document)
所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
下面在student集合中插入两条数据。
由于操作窗口是一个javascript shell,所以这里也可以使用js的写法。
由于文档是采用"K-V"格式存储的,JSON里面的Value可以是字符串,可以是数组,也可以是内嵌的一个JSON对象,所以BSON也同样。
> 查询文档 (find) |
格式:> db.COLLECTION_NAME.find()
find() 方法显示所有文档。
注意“_id": 这个字段是数据库默认给我们加的GUID,目的是保证数据的唯一性。
另外find() 后面加上pretty() 方法以格式化的方式来显示所有文档。看起来会更舒服一点。
当然find()操作不只是查所有文档,还可以像sql那样带各种条件去查询。
MongoDB中条件操作符有以下:
1)$gt (大于)、$lt(小于)、$gte(大于等于)、$lte(小于等于)
实例如下:
写法很简单,对照着实例很容易理解,这里就不做讲解了。
2)$or(或者)、$in(包含在)、$nin(不包含在)
实例如下:
写法很简单,对照着实例很容易理解,这里就不做讲解了。
> 高级查询 |
1)查询数组
对于数组,我们可以这样理解:数组中每一个元素都是这个键值对键的一个有效值
例如:查询student集合里兴趣爱好为篮球的文档。
我们可以看到只要爱好包含篮球的文档就可以查询出来。
那么如果多个呢。例如:查询student集合里兴趣爱好为篮球和吉他的文档。
我们可以看到虽然篮球和吉他在集合里存在,但是却查询不出来。
如果我们要匹配多个数组,就需要条件操作符$all.
例如:还是查询查询student集合里兴趣爱好为篮球和吉他的文档。
我们可以看到数组里只要包含条件值,都能被查询出来,而且顺序可以不同。
2)根据数组位置精确查找
我们知道数组索引是从0开始,所以根据索引位置精确查找到数组某一位。
例如:查询第一位为篮球的,第二位为吉他的。
3)数组截取 $slice
这里需要知道find函数里还有第二个参数,也就是用来控制需要显示哪些键值。1为显示,0为不显示。
例如:显示name和age键值
例如:显示name和age,不显示_id.
继续说到$slice,数组截取,下面看下实例。
可以看到值为1的时候,表示取数组里的前一位值,同理为2时,取数组前两位值。
为-1的时候,表示取数组最后一位,同理为-2时,取数组后两位值。
为[1,3]时,表示跳过第一位,取接下来的三位,如果不够三位,那么有几位就取几位。
4)内嵌文档查询
我们可以看到使用点表示法,深入到内嵌文档内部的键,来查询内嵌文档。
> 更新文档 (update) |
格式:db.collection.update(<query>,<update>,{upsert:<boolean>,multi:<boolean>,writeConcern:<document>})
参数说明:
query : update的查询条件,类似sql update查询内where后面的条件。
update : update的对象和一些更新的操作符(如$set,$inc)等,也可以理解为sql update查询内set后面的值。
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
1)基本修改
2)$set (直接设置值)
将jack的年龄修改为21岁。
3)$inc (在数字型的键值的原有值的基础上增加)
将jack的年龄增加5岁。
4)upsert ( 如果不存在记录,true为插入新的文档,false为不插入,默认值为false)
5) multi (默认为false,只更行符合条件的第一条记录,如果为true,则更新符合条件的全部记录)
为false的情况:
为true的情况:
> 删除 (remove) |
格式:db.collection.remove(<query>,{justOne:<boolean>,writeConcern:<document>})
参数说明:
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
query :(可选)删除的文档的条件
writeConcern :(可选)抛出异常的级别。
基本用法很简单,看下实例。
注意:remove中如果不带参数将删除所有数据,不可撤回,所以要谨慎。
基本的增删改查命令的使用就介绍到这里,下一篇学习一些常用的聚合函数。
转载于:https://www.cnblogs.com/mejoy/p/5985522.html
MongoDB学习总结(二) —— 基本操作命令(增删改查)相关推荐
- Mysql学习笔记(六)增删改查
原文:Mysql学习笔记(六)增删改查 PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into tab ...
- Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发
开发配置 了解EBS服务器目录 $JAVA_TOP JSP中可以引用标准Java类库,也可以引用其他Java类库,客户化开发的类库统一放在$JAVA_TOP下,按目录组织.OAF开发的文件都放在这里. ...
- mysql php 增删数据,php学习之mysql数据的增删改查
1.插入数据 语句:insert into 表名 [(字段1,字段2,字段3,-.)] values (值1,值2,值3,-); 单行插入数据 省略字段名,这种写法后面的值必须要完整,有多少字段就要插 ...
- Asp.net MVC 学习之路-003(增删改查,后端手工,前端生成)
时间:2017-03-09 Asp.net Mvc实现增删改查 1, 创建数据库 可参考我写的EntityFramework实现过程:http://www.jianshu.com/nb/1016674 ...
- flask对mysql数据库增删改查_Flask学习(三) - Flask-SQLAlchemy对数据库增删改查
Flask-SQLAlchemy对数据库增删改查 安装 pip install flask-sqlalchemy 具体不多说了,主要是对数据库进行简单的增删改查,上代码,看注释 @app.route( ...
- SQLAlchemy教程(二)基本增删改查
增删改查 增: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_enginefrom s1 import m ...
- Mybatis学习笔记【part03】增删改查
Mybatis 学习笔记 Part03 1.传入参数与返回参数设置(查) <!-- 根据 id 查询 --> <select id="findById" resu ...
- Mongodb基础入门(2)——增删改查等基础操作
简介: 无论是关系数据库还是非关系数据库,其基本操作:增.删.查.改.另外由于Mongodb存储的文档本质上是Bson对象,所谓的Bson也就是Json对象的二进制对象.因此,对Mongodb数据的操 ...
- 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍
目录 1.sqlite数据库介绍 1)常见的数据库操作 2)数据操作常见步骤 2.向数据表中增加数据(insert into) 1)向数据表中添加一条记录 2)向数据表中一次性添加多条记录 3.修 ...
最新文章
- 2017图灵奖出炉:Google母公司董事长和杰出科学家共获殊荣
- php+sql创建本地项目详细步骤1——创建数据库数据表,数据库连接
- python 访问需要HTTP Basic Authentication认证的资源
- ubuntu所有php扩展php-7.0扩展列表
- 深度学习笔记(34) 目标检测
- shell编程快捷方法
- 10.22 Ext JS 快速开发工具
- 主动学习(Active Learning)领域部分经典论文汇总
- sas 分析家模块 安装,SAS9.3 13.3G完整版安装过程与模块介绍
- 格雷希尔Gripseal燃油管快速接头如何做密封性测试
- 008 [转载]文件后缀查询
- 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
- mysql 整型最大值_在SQL中如何获取整数的最大值?
- 电脑常用快捷键大全(收藏)
- ISBN码书籍信息查询
- 人均劳动生产率的单位_生产率的单位是什么?
- “不限流量卡”真的不限量,但是却限制了这些!
- 三星引入ChatGPT半个月泄密3次;MidJourney V5相机镜头完整参数列表;万字长文,拆解投身大模型3个本质问题 | ShowMeAI日报
- 【收藏】2019届互联网大厂公司校招薪资汇总,基本年薪都在20万以上
- 计算机策略组 网络,组策略