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 ...
随机推荐
- Android框架Volley使用:Get请求实现
首先我们在项目中导入这个框架: implementation 'com.mcxiaoke.volley:library:1.0.19' 在AndroidManifest文件当中添加网络权限: < ...
- STM32 掉电检测程序
当VDD下降到PVD阀值以下或当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断 void PVD_IRQHandler(void) { led_ctrl ...
- Discuz! 全局变量说明
$_G 保存了 Discuz! 中所有的预处理数据 缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可. Discuz! 中所有的缓存保存在 $_G[c ...
- linux环境下安装selenium+chrom+chromdriver.exe
原文:https://blog.csdn.net/yoyocat915/article/details/80580066 原文:https://blog.csdn.net/hanxue6898/art ...
- OceanBase 架构初探
OceanBase 架构初探 原创衣舞晨风 发布于2018-11-13 08:44:14 阅读数 1417 收藏 展开 1.设计思路 OceanBase的目标是支持数百TB的数据量以及数十万TPS. ...
- apicloud如何实现优雅的下拉刷新与加载更多
apicloud中提供下拉刷新监听事件api,也提供滚动到底部事件的监听,能够实现下拉刷新和滚动到底部加载更多功能,但是我们真的就满足实现功能了吗?将两个代码拼凑起来运行看看发现了什么?是的,在滚动到 ...
- [视频教程] ubuntu系统下安装最新版PHP7.3.X环境
视频地址: https://www.bilibili.com/video/av69088870/ 笔记: 先安装一下这个命令 add-apt-repositoryapt-get install sof ...
- C学习笔记(8)--- 文件读写
1.C 文件读写: 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件. a.打开文件: FILE *f ...
- [C5W1] Sequence Models - Recurrent Neural Networks
第一周 循环序列模型(Recurrent Neural Networks) 为什么选择序列模型?(Why Sequence Models?) 在本课程中你将学会序列模型,它是深度学习中最令人激动的内容 ...
- 剑指Offer-14.链表中倒数第k个结点(C++/Java)
题目: 输入一个链表,输出该链表中倒数第k个结点. 分析: 第一个解法,我们可以先遍历一遍链表,计算下节点的总数n,然后再从头结点查n-k个节点,即是倒数第k个节点. 第二个解法,便是使用双指针,两个 ...