mongodb数据库的操作指令

本文详细介绍MongoDB数据库的各种操作指令,包括数据库管理、用户管理、数据类型、数据操作、查询及聚合函数等内容,为开发者提供全面的MongoDB使用指导。

mongodb的操作指令

4.1、 查看当前数据库

db

4.2、查看所有的数据库

show dbs

4.3、切换数据库指令

在这里插入图片描述
简单的说就是创建的时候是没有数据的,但是它是存在着的,只有用的时候才有用,

就是在你要传到新数据库的时候,都要先use一下才可以导入

4.4、删除数据集指令

db.dropDatabase()

5、创建用户

5.1、创建超级管理员

切入数据库

use admin

db.createUser({user:“python”,pwd:“tianyan123”,roles:[‘root’]})

5.2创建读写权限指定的用户

db.createUser({user:“python01”,pwd:“tianyan123”,roles:[{role:‘read’,db:‘newdb’}]})

db.createUser({user:“python01”,pwd:“tianyan123”,roles:[{role:‘readWrite’,db:‘newdb’}]})

5.3查看当前数据库所有的用户信息

db.system.users.find()
在这里插入图片描述
5.4 登陆用户

db.auth(“用户名”,“密码”)

5.5删除用户

db.dropUser(‘用户名’)

5.6查看

show collections
在这里插入图片描述
查看表

就和mysql里查看表一样

6、 对比
在这里插入图片描述
7、创建集合

7.1 创建没有上限的集合

db.createCollection(“表名或者说是集合名”)

7.2 创建有上限的集合

db.createCollection(“集合的名字”,{capped:true,size:1024})

7.3查看当前数据库的集合

show collections

7.4 删除集合

db.集合名字.drop()

8、数据类型

ObjectID文档的id 12个字节的16进制数

可以手动设置任意数值

5d2fe1c9a5e052faee0b23a5

4.3.时间嵯

string 字符串 utf-8最常用的类型

boolean布尔值true或者false

integer整数类型,32位或者64位

double 浮点类型

arrays 数组或者列表,多个存储到一个键名里面

object 嵌入式文档,一个值对应的是一个文档

null存储空值

timestamp时间蹉1970-1-1到现在的总秒数

data存储当前时间或者时间的Unix时间格式

9、插入数据

9.1插入一条数据

obj1 = {name:‘asd’}

db.集合名.insert(obj1)

db.集合名.insert({_id:‘hsgdg’,name:‘gdfgsfdg’})

注意点:

_id是文档的主键,可以自己手动设置

但是不设置,MongoDB会给我们指定一个唯一值

9.2查询当前集合中所有文档

db.集合名,find()

9.3更新

9.3.1全文档更新
在这里插入图片描述
db.集合名.update(

查询条件(类似MySQL里的where),

更新的内容,

多条数据的更新(如果符合查询条件存在多条数据,multi用来指定是否更新查询到的多条数据)

)

注意点:

1、如果没有指定更新操作符,做文档的刷新操作
在这里插入图片描述
2、指定属性的更新
在这里插入图片描述
3、multi属性的使用
在这里插入图片描述
multi这个属性,默认是false,只更改查询到的第一个值,设置成true,则更改查询到的所有

案例:
在这里插入图片描述
不指定查询条件,直接写{},并且把multi设置成true,就把该集合/表中的所有符合的要改的数据都改成指定数据,就算原本没有,也强制添加上去
在这里插入图片描述
9.6 数据查询
在这里插入图片描述
9.7 比较运算符
在这里插入图片描述
db.集合名.find({字段:{比较运算符:具体的数据/条件}})

大于 $gt

大于等于 $gte

小于 $lt

小于等于 $lte

不等于 $ne

9.8 逻辑运算符
在这里插入图片描述
在这里插入图片描述
9.9 范围查找

查找年龄是15,或者20的人
在这里插入图片描述
9.10正则
在这里插入图片描述
9.11 展示条件
在这里插入图片描述
9.12投影

就是展示指定字段
在这里插入图片描述
1:表示展示

0:表示隐藏

但是:_id是默认展示的,即1

9.13排序
在这里插入图片描述
sort({字段:1/-1})

1:表示正序

-1:表示降序

9.14 统计

count
在这里插入图片描述
在这里插入图片描述
这两种方法都可以

9.15去重

distinct
在这里插入图片描述
10、聚合函数aggregate

db.students.aggregate([{管道:{表达式}}])

10.0常用的表达式

$sum求和

$sum 计算总合,$sum:1效果和count是一样的
$avg 计算平均值
$min 最小值
$max 最大值
$first 根据结果取第一个文档数据
$last 根据结果取最后一个文档数据
$push 在结果文档中插入之到应该数组中
等

10.1 $group分组

定义:将集合中的文档分组,进行结果的统计

一个案例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10.2 match

定义:用来过去文档,输出条件的问答文档

查询年龄大于15的
在这里插入图片描述
10.3 project

定义:修改输入的文档的结构、重命名、增加字段、删除结果、创建结果

案例:

按照年龄分组,统计每个分组元素的个数并且计算每个分组的平均年龄,但展示的时候不要id
在这里插入图片描述
注意:

除了_id,其他都不能写xx:0

10.4 sort

10.5 limit
查询前多少条,如果超出范围,不报错列出所有项
在这里插入图片描述
10.6 skip
跳过多少项,例如如果是3,就从第四个开始取
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值