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常用数据库命令第三集的更多相关文章

  1. MongoDB常用数据库命令第二集

    =======================基础命令======================= mongo 进入数据库操作界面db 查看当前使用的数据库show dbs 查看当前已经被创建出来的 ...

  2. MongoDB常用数据库命令第一集

    1.查询操作(1)Help查看命令提示helpdb.help()db.test.help()db.test.find().help()(2)创建/切换数据库use music(3)查询数据库show ...

  3. MongoDB之数据库命令操作(二)

    现在详细学习一下mongodb的数据库操作. 查询语句 db.xxx(集合name).find() # 查询 db.xxx(集合name).findOne() # 只返回一个 db.xxx(集合nam ...

  4. postgresql 常用数据库命令

    连接数据库, 默认的用户和数据库是postgrespsql -U user -d dbname 切换数据库,相当于MySQL的use dbname\c dbname列举数据库,相当于mysql的sho ...

  5. mongodb数据库命令

    常用数据库命令汇总 Database Commands Api 下面简单列一下Shell常用的基本命令 启动连接Mongodb #带配置信息启动 mongod -f xxx.conf #连接 mong ...

  6. 【Mongodb教程 第十七课 】MongoDB常用命令 数据库命令 集合操作命令

    (1)数据库命令 a)添加用户 db.addUser(‘name’,’pwd’) b)删除用户 db.removeUser(‘name’) c)用户验证 db.auth(‘name’,’pwd’) d ...

  7. 每篇半小时1天入门MongoDB——4.MongoDB索引介绍及数据库命令操作

    准备工作 继续连接到mongo C:\Users\zouqi>mongo MongoDB shell version: 3.0.7 connecting to: test 查看数据库和集合 &g ...

  8. MongoDB 数据库命令

    数据库命令 连接成功后,默认使用test数据库 查看当前数据库名称 db 查看所有数据库名称,列出所有在物理上存在的数据库 show dbs 切换数据库,如果数据库不存在也并不创建,直到插入数据或创建 ...

  9. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

随机推荐

  1. Android应用打开外部文件

    我们有时候遇到要打开一个文件,我们可以选择用其他应用打开,这时弹出来的应用列表,那么我们如何让自己开发的应用也能出现在里面呢? 第一步:设置启动Activity的intent-filter,给data ...

  2. Microsoft.Extensions.DependencyInjection 阅读笔记

    一. 关于IServiceCollection接口的设计 public interface IServiceCollection : IList<ServiceDescriptor> { ...

  3. eclipse C++ 配置自动提示

    转:http://www.cnblogs.com/myitm/archive/2010/12/17/1909194.html 定位到:Windows→Preferences→Java→Editor→C ...

  4. Windows 10系统迁移

    快速复制硬盘可以调整目标盘分区大小(适用于不同容量的硬盘克隆) 调整完目标盘的系统分区大小后将恢复分区拖到系统分区后面对齐,恢复分区后面既可留出未分配容量用作Linux系统安装. 克隆完成后对uefi ...

  5. Python xlwt模块写Excel问题集合

    1.数字转换成汉字 数据库查询返回结果为多元组,在写入Excel需要判断,数据库查询结果是否为数字,为数字的话需要将其转换成对应的汉字,此时元组不可修改,所以需要将返回结果修改成列表.实现可以在数据库 ...

  6. cannot resolve symbol 'XXX'

    原因:出现这种情况的原因是在IDEA或者myeclipse编译器中没有导入相关的jar包(jar包相当于类的集合,可以使用其中的类): 针对IDEA出现cannot resolve symbol 'X ...

  7. C++ 学习六 operator关键字(重载)

    转载:http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将 o ...

  8. python3.5.3rc1学习四:类

    class calculator: def add(x,y): return x + y print(added) def sub(x,y): return x - y print(sub) def ...

  9. 剑指Offer-26.二叉搜索树与双向链表(C++/Java)

    题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 分析: 创建两个指针,分别指向要处理的当前元素和当前元素的前一个元素.利用中 ...

  10. 利用OpenCV实现图像拼接Stitching模块讲解

    https://zhuanlan.zhihu.com/p/71777362 1.1 图像拼接基本步骤 图像拼接的完整流程如上所示,首先对输入图像提取鲁棒的特征点,并根据特征描述子完成特征点的匹配,然后 ...