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 ...
随机推荐
- js 替换字符串中的双引号
text.replace(/\"/g, ''); 可根据此方法去掉字符串中的双引号
- 第三方库Mantle的源码解析
Mantle是一个用于简化Cocoa或Cocoa Touch程序中model层的第三方库.通常我们的应该中都会定义大量的model来表示各种数据结构,而这些model的初始化和编码解码都需要写大量的代 ...
- HttpClient忽略SSL证书
今天公司项目请求一个接口地址是ip格式的,如:https://120.20.xx.xxx/xx/xx,报一个SSL的错: 由于之前请求的接口地址都是域名地址,如:https://www.xxx.com ...
- oracle 死锁 锁
[zhuan]今天看群里在讨论数据库死锁的问题,也一起研究了下,查了些资料在这里总结下. 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将 ...
- ansible错误ImportError: No module named ansible.runner记录
按着官网提供的安装ansible To configure the PPA on your machine and install ansible run these commands: $ sudo ...
- 7-SQL-join连接
(1) 内连接 关键字:inner join on select * from a_table inner join b_table on a_table.a_id = b_table.b_id; / ...
- C学习笔记(7)--- typedef,输入输出
1.typedef: C 语言提供了 typedef 关键字,您可以使用它来为类型(type)取一个新的名字. 比如: typedef unsigned char BYTE; 然后你就可以把BYTE当 ...
- springboot项目jar包运行
springboot项目jar包运行 参考 Linux后台运行java的jar包 步骤 进入maven项目中,打包项目. mvn package -Dmaven.test.skip=true 运行ja ...
- Ubuntu下的录GIF神器——Peek
最近一直在找Ubuntu下面录GIF好用方便的软件一直没找到,很多都是要获取录屏四角的坐标,现在终于找到了,就是我们的录GIF神器——Peek. 1 获取Peek的ppa源 sudo add-apt- ...
- <String> 186 293 294 249
186. Reverse Words in a String II 先反转整个字符串,再反转每个单词(调整顺序也可以) 反转单词的时候:当 j 指到最后一个字符的时候,或者 j 的下一个指向空格,则反 ...