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 ...
随机推荐
- 升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升
升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升 -----生鲜配送行业现状及存在问题----- 1. 从业者整体素质偏低 ...
- SAP MM MB5L事务代码'仅总计'选项初探
SAP MM MB5L事务代码'仅总计'选项初探 MB5L,如下查询条件, 报表结果里显示有差异, 而如下查询条件, 原因在于当勾选了'仅总计'选项以后,系统不考虑MM以外的影响库存金额的事务,而只是 ...
- ES新提案:双问号操作符
摘要: 简单实用的新特性. 原文:ES新提案:双问号操作符 译者:前端小智 本文主要讲Gabriel Isenberg撰写的ES提案"Nullish coalescing for JavaS ...
- this license XXXXXX has been cancelled
this license XXXXXX has been cancelled问题解决:首先修改hosts 文件 加入0.0.0.0 account.jetbrains.comhosts 目录 wind ...
- 6.python3实用编程技巧进阶(一)
1.1.如何在列表中根据条件筛选数据 # 1.1.如何在列表中根据条件筛选数据 data = [-1, 2, 3, -4, 5] #筛选出data列表中大于等于零的数据 #第一种方法,不推荐 res1 ...
- [PHP] 基于redis的分布式锁防止高并发重复请求
需求:我们先举个某系统验证的列子:(A渠道系统,业务B系统,外部厂商C系统) (1)B业务系统调用A渠道系统,验证传入的手机.身份证.姓名三要素是否一致. (2)A渠道系统再调用外部厂商C系统. (3 ...
- 【CSP-S 2019】D2T2 划分
Description 传送门 Solution 算法1 12pts 指数算法随便乱搞. 算法2 36pts \(O(n^3)\)dp. 设\(f_{i,j}\)表示以位置\(j\)结尾,上一个决策点 ...
- Tensorflow的不足之处
Tensorflow还是有不足的地方.第一体现在Tensorflow的数据机制,由于tensor只是占位符,在没有用tf.Session().run接口填充值之前是没有实际值的.
- 20191028 牛客网CSP-S Round2019-1
花了 \(30min\) 打了 \(180\) 分的暴力... 仓鼠的石子游戏 问题描述 链接:https://ac.nowcoder.com/acm/contest/1100/A 仓鼠和兔子被禁止玩 ...
- 针对.NET Core, Xamarin以及.NET的自动类型安全Rest库: Refit
本文大部分内容是针对Refit官网的翻译. 官网地址: https://github.com/reactiveui/refit Refit是一个类似于Retrofit的Restful Api库,使用它 ...