- 查看所有数据库
show dbs
- 切换数据库
use 数据库名
- 查看当前数据库下的所有用户
show users
- 切换到admin并验证权限
use admin
db.auth('用户名','密码')
- 查看系统所有用户
db.system.users.find().pretty()
- 为某个数据库创建用户并分配权限
use 数据库
db.createUser({
user: "用户名",
pwd: "密码",
roles: [{role: "权限",db: "数据库"}]
})
例:
use user
db.createUser({
user:"admin",
pwd:"123456",
roles:[{role:"userAdmin", db:"user"}]
})
角色说明:
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
- root:只在admin数据库中可用,超级账号,超级权限
- 删除某个库的用户
use 数据库
db.dropUser("用户名");
- 删除所有库中的某个用户
db.system.users.remove({user:"用户名"});
- 查看当前处于哪个数据库
db
- 创建数据库
use 数据库名
- 删除当前数据库
db.dropDatabase()
- 创建集合
db.createCollection("集合名")
- 删除集合
db.集合名.drop()
- 插入数据
db.集合名.insert(bson字符串)
- 创建超级用户
db.createUser({
user:"用户名",
pwd:"密码",
roles:[{role:"root", db:"admin"}]
})
- 查询某个Collection的所有记录数
db.getCollection('集合名称').find({}).count()
- 生成索引
db.getCollection('集合名称').createIndex({"索引名":升序或降序})
例:
db.getCollection('user').createIndex({"userId":1})
- 创建唯一索引
db.getCollection('集合名称').createIndex({"索引名":升序或降序},{unique:true})
- 查看当前集合索引
db.getCollection('集合名称').getIndexes()
- 删除所有索引
db.getCollection('集合名称').dropIndexes()
- 删除指定索引
db.getCollection('集合名称').dropIndex("索引名")
- 删除大于某个数的所有记录
db.getCollection('集合名称').deleteMany({"字段名":{"$gte":数}})
例:
db.getCollection('user').deleteMany({"age":{"$gte":20}})
- 回收磁盘空间
db.repairDatabase()
网友评论