MongoDB常用数据库命令第三集
show dbs 查看已经存在的数据库
use 数据库名 切换到指定的数据库(无论数据库是否存在 均可切换成功)
db 查看当前数据库
db.getCollectionNames() 查看当前数据库下一共有哪些集合
db.集合名.insert(文档) 向指定的集合录入一条文档
例如: db.users.insert({username:"xxx",age:98,height:180})
db.集合名.insert([文档1,文档2]) 向指定的集合插入多条文档
例如: db.users.insert([
{username:"黄晓明",age:35,height:180},
{username:"ab",age:18,height:149}
])
db.集合名.insertMany([文档1,文档2]) 插入多条数据
db.集合名.insertOne(文档) 插入单条数据
//==================== 查询 ====================
db.集合名.find() 查询指定的集合内所有数据
条件查询
db.集合名.find({条件},{显示字段})
条件格式: 属性名:值 ====> 属性==值
属性名:{条件操作符:值} 其他条件查询
条件操作符
$gt : 大于
$gte : 大于等于
$lt : 小于
$lte : 小于等于
$in : 包含其中一个 注意 $in操作符的值必须为数组类型
$all : 包含所有 值同上,必须为数组类型
$nin : 不包含其中任意一个 值要求同上
$ne : 不等于
$not : 对已定义好的条件进行取反 {属性:{$not:{条件}}}
$mod : 取模 (取余) $mod:[x,y] 取所有除x余y的值
条件的 "且" 和 "或"
{条件一,条件二} 条件一 且 条件二
对于同一属性的条件控制 语法可写在一起 例如: 取年龄大于18而且年龄小于50
{age:{$gt:18,$lt:50}}
{ $or : [ {条件一} , {条件二} ] } 条件一 或 条件二
"且" "或" 混用
{条件一 , $or:[{条件二},{条件三}]} 条件一 且 条件二 或 条件三
其他操作
.limit(n) 取满足条件的头n条数据
.skip(n) 跳过n条数据再取数据
.count() 对满足条件的数据进行计数
.sort({第一排序条件,第二排序条件,.....}) 按照属性进行排序
.skip(m).limit(n) 跳过m条数据 再取头n条数据 (调用顺序没有讲究,但是作用效果均为先跳过数据再取数据)
//==================== 修改 ====================
db.集合名.update(query,{修改器:{属性:值}},option)
在默认情况下 修改操作只会操作第一条符合条件的数据
option 为可选参数, 为对象类型 其下有两个属性
multi : 布尔值 是否修改所有符合条件的数据 默认false
upsert : 布尔值 当没有符合条件的数据时 是否创建该数据 默认false
修改器
$set : 重新赋值
$inc : 对值进行叠加(值为正)或递减(值为负) 适用于数字类型的值
$unset : 删除整个属性(包括属性名及属性值)
数组修改器
$push : 给数组类型的值添加一个新元素
$addToSet : 给数组类型的值添加一个新元素 (该方法不会重复添加已经存在的值,同时也不会影响原来已经存在的重复值)
$pop : 从尾部删除一条数据 (值的大小不会对结果产生影响 永远只会操作一条数据) (值为正 从尾部删除一条数据 值为负 从头部删除一条数据)
$pull : 按条件删除数组内元素 {$pull:{属性:值}} 删除指定值的元素
//==================== 删除 ====================
db.集合名.remove(query,option)
默认情况下 会删除所有符合条件的数据
option 为可选参数 为对象类型 拥有属性
justOne : 是否只删除第一条符合条件的数据 默认false
db.users.insert([
{username:"马云",age:58,height:167,friends:["马化腾","许家印","雷军","李彦宏","柳传志"]},
{username:"许家印",age:52,height:177,friends:["马化腾","雷军","柳传志"]},
{username:"雷军",age:48,height:174,friends:["马化腾","董明珠","柳传志"]},
{username:"雷德承",age:18,height:180,friends:["马化腾","王健林","柳传志"]},
{username:"王思聪",age:32,height:179,friends:["林更新","林缓存","陈赫","雷军"]}
])
db.users.insert([
{username:"小明1",age:18},
{username:"小明2",age:18},
{username:"小明3",age:18},
{username:"小明4",age:18},
{username:"小明5",age:18}
])
{age:{$gt:18}}
{条件一,条件二} 条件一且条件二
{$or:[
{条件一},
{条件二}
]}
年龄小于35 并且身高高于170的人
条件一 且 条件二
{age:{$lt:35},height:{$gt:170}}
年龄小于35 或者 升高高于175的人
条件一 或者 条件二
{$or:[
{age:{$lt:35}},
{height:{$gt:175}}
]}
年龄大于30 而且 升高小于175 或者 认识许家印
条件一 而且 条件二 或 条件三
{条件一,$or : [{条件二},{条件三}]}
{age:{$gt:30},$or:[{height:{$lt:175}},{friends:{$in:["许家印"]}}]}
db.users.find({age:{$gt:30},$or:[{height:{$lt:175}},{friends:{$in:["许家印"]}}]},{_id:0})
每页放y条数据 当前第x页
db.users.find().limit(y).skip((x-1)*y)
第一排序条件 年龄
第二排序条件 身高
MongoDB常用数据库命令第三集的更多相关文章
- MongoDB常用数据库命令第二集
=======================基础命令======================= mongo 进入数据库操作界面db 查看当前使用的数据库show dbs 查看当前已经被创建出来的 ...
- MongoDB常用数据库命令第一集
1.查询操作(1)Help查看命令提示helpdb.help()db.test.help()db.test.find().help()(2)创建/切换数据库use music(3)查询数据库show ...
- MongoDB之数据库命令操作(二)
现在详细学习一下mongodb的数据库操作. 查询语句 db.xxx(集合name).find() # 查询 db.xxx(集合name).findOne() # 只返回一个 db.xxx(集合nam ...
- postgresql 常用数据库命令
连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname 切换数据库,相当于MySQL的use dbname\c dbname列举数据库,相当于mysql的sho ...
- mongodb数据库命令
常用数据库命令汇总 Database Commands Api 下面简单列一下Shell常用的基本命令 启动连接Mongodb #带配置信息启动 mongod -f xxx.conf #连接 mong ...
- 【Mongodb教程 第十七课 】MongoDB常用命令 数据库命令 集合操作命令
(1)数据库命令 a)添加用户 db.addUser(‘name’,’pwd’) b)删除用户 db.removeUser(‘name’) c)用户验证 db.auth(‘name’,’pwd’) d ...
- 每篇半小时1天入门MongoDB——4.MongoDB索引介绍及数据库命令操作
准备工作 继续连接到mongo C:\Users\zouqi>mongo MongoDB shell version: 3.0.7 connecting to: test 查看数据库和集合 &g ...
- MongoDB 数据库命令
数据库命令 连接成功后,默认使用test数据库 查看当前数据库名称 db 查看所有数据库名称,列出所有在物理上存在的数据库 show dbs 切换数据库,如果数据库不存在也并不创建,直到插入数据或创建 ...
- java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)
1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件 准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...
随机推荐
- cesium-webpack 入门开发系列一初探篇(附源码下载)
前言 cesium-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 we ...
- SIP协议分析
- SIP流程 一个标准的SIP通话流程如下: 1. A向B发送一个INVITE消息,邀请B通话. 2.B振铃,向A回复一个RING消息,通知A振铃中,A等待. 3.B提机,向A发一个OK消息, 通 ...
- Python使用DB-API操作MySQL数据库
Python提供了一个标准数据库API,称为DB-API,用于处理基于SQL的数据库.与任何底层数据库的交互都可以使用DB-API,因为DB-API在代码与驱动程序之间提供了一个抽象层,可以根据需要替 ...
- MySQL基础之数据管理【3】
MySQL中的多表联查 --查询emp的id username age depName create table emp( id int unsigned auto_increment key, us ...
- bay——安装_RAC11g_LC_ASM方式_测试环境.txt
★★★____★☆★〓〓〓〓→VMware vSphere Client6.0 https://10.20.4.200/ 下载Vwmare IP:10.20.4.200-------账号:root-- ...
- Eclipse修改JSP文件的默认编码
Eclipse新建JSP文件,可以看到默认使用的是ISO-8859-1编码,如下图,而这种编码是无法保存中文的,不符合我们的需求 那么应该怎样修改呢?找到菜单Window-Preferences,找到 ...
- appium----Monkey测试
做过app测试的应该都知道Monkey测试,今天简单的介绍下Monkey如何测试 什么是Monkey monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等, ...
- 自定义vue的loading插件
在一般的vue项目中,都会用到Loading或者Alert之类的弹窗浮层,而他们是一种比较高频率出现的组件. 一般情况下,我们都会去直接import该组件,然后直接以标签的形式引用进去当前页面组件中, ...
- 扎西平措 201571030332 《面向对象程序设计(java)课程学习进度条》
<2019面向对象程序设计(java)课程学习进度条> 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/ ...
- 面向对象程序设计(JAVA) 第10周学习指导及要求
2019面向对象程序设计(Java)第10周学习指导及要求 (2019.11.1-2019.11.4) 学习目标 1.掌握java异常处理技术: 2.了解断言的用法: 3.了解日志的用途: 4.掌 ...