mongodb的基本操作
一、下载安装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
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~