云迈博客

您现在的位置是:首页 > 数据库 > 正文

数据库

mongodb的基本操作

黄蓉蓉2022-06-30数据库180
一、下载安装mongodb二、官方文档三、mongodb的使用1.对数据库的操作连接数据库mongodb查看所有数据库showdbs创建数据库:创建数据库必须插入一条数据,才能真

一、下载安装mongodb

二、官方文档

三、mongodb的使用

1. 对数据库的操作

连接数据库

mongodb

查看所有数据库

show dbs

创建数据库:创建数据库必须插入一条数据,才能真正创建成功

use 数据库名称

使用数据库

use 数据库名称

删除数据库

db.dropDatabase()

2. 对集合(数据表)的操作

查询所有的集合

show collections

创建集合:插入数据时,如果集合不存在,则会自动创建数据库,参见添加数据

删除集合

db.集合.drop()

添加数据

db.集合名.insert(数据对象)

删除数据

# 删除指定条件的所有数据
db.集合.remove({
    name: "Herrona"
})
# 删除满足指定条件的第一条数据
db.集合.remove({
    name: "Herrona"
}, {justOne: true})

修改数据

# 将id为1的记录的name字段改为Herrona和age改为20,$set表示只更新指定字段,不写则将整条记录替换
db.集合.update({"id": 1},{
    $set: {
        name: "Herrona",
        age: 20
    }
})
# 将id为1的记录的name字段改为Herrona和age改为20,将整条记录替换
db.集合.update({"id": 1},{
    name: "Herrona",
    age: 20
})
# 批量修改, 将name为abc的记录的name字段改为Herrona和age改为20
db.集合.update({"name": 'abc'},{
    $set: {
        name: "Herrona",
        age: 20
    }
}, {multi: true})

查询某集合所有记录

db.集合.find()

查询某集合第一条数据:

db.集合.findOne()

查询满足指定条件的数据:

# 查询age=20的记录
db.集合.find({age: 20})
# 查询age<20的记录
db.集合.find({age: {$lt:20}})
# 查询age>20的记录
db.集合.find({age: {$gt:20}})
# 查询age<=20的记录
db.集合.find({age: {$lte:20}})
# 查询age>=20的记录
db.集合.find({age: {$gte:20}})
# 查询age为20到30之间的记录
db.集合.find({
    age: {
        $gte: 20,
        $lte: 30
    }
})
# 查询age为20或者30的记录
db.集合.find({
    $or: ["age": 20, "age": 30]
})

模糊查询

# 查找name包含abc的记录
db.集合.find({name: /abc/})
# 查找name以abc开头的记录
db.集合.find({name: /^abc/})
# 查找name以abc结尾的记录
db.集合.find({name: /abc$/})

查找指定列的记录

# 结果集中只显示name字段和age字段
db.集合.find(条件, {name: 1, age: 1})

排序操作

# 将结果集按照age进行升序排列
db.集合.find().sort({age: 1})
# 将结果集按照age进行升序排列
db.集合.find().sort({age: -1})

限制结果集记录条数

# 查询前5条数据
db.集合.find().limit(5)
# 从第10条以后开始查询
db.集合.find().skip(10)

查询记录总数

db.集合.find().count()

四、高级查询

管道操作符 说明
$project 增加、删除、重命名字段
$math 条件匹配,只满足条件的文档才能进入下一阶段
$limit 限制结果的数量
$skip 从第几条以后开始查询
$sort 排序
$group 条件组合结果
$lookup 引入其他集合的数据

五、性能优化

1. 索引

启用索引

db.集合.ensureIndex()

六、Mongodb权限管理

1. Mongodb数据库角色与权限

角色名 权限
数据库用户角色 read、readWrite
数据库管理角色 dbAdmin、dbOwner、userAdmin
集群管理角色 clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色 backup、restore
所有数据库角色 readAnyDatabase、readWirteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色 root
## 2. 创建超级管理员账户
(1) 创建超级管理员账户
```bash
use admin
```
db.createUser({
    user: "admin",
    pwd: "1234",
    roles: [{
        role: "root",
        db: "admin"
    }]
})

(2). 修改Mongodb数据库配置文件,启用权限验证

打开mongodb安装目录 / bin下的mongod.cfg:

security:
    authorization: enabled

(3). 重启数据库   

(4). 使用超级管理员连接数据库

mongo admin -u 用户名 -p 密码

3. 给指定数据库创建用户

use 数据库名称
db.createUser({
    user: "testuser",
    pwd: "1234",
    roles: [{
        role: "dbOwner",
        db: "数据库名称"
    }]
})

4. 查询所有用户

show users

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~