net start MongoDB 解释: 开启服务
net stop MongoDB 解释: 关闭服务
sc delete MongoDB 解释: 删除服务
mongod --install --serviceName "MongoDB" 解释: 安装服务
进入bin目录下 执行 `mongo`或`mongo.exe`命令
1. use admin --切换到某某db下
2. db.createUser({user:'zhang',pwd:'1234',roles:['root']}) --创建用户,账号,密码,权限
3. db.auth('zhang','1234') --登录
db
show dbs
use 数据库名称
db.dropDatabase()
db.createCollection(name,options)
// name 表示集合名
// options 表示创建参数--可忽略不写
show collections
db.name.drop()
// name 表示要删除集合的名称
use demo
db.createCollection('book', { capped: true,size: 1024 , max : 3 } )
{
"_id" : ObjectId("5b2cc4bfa6a44812707739b5"),
"name" : "小h"
}
db.集合名称.insert(document)
示例:
db.student.insert({"name":"兮赫","age":18})
db.集合名称.find()
// 示例:
db.student.find()
db.集合名称.find(json条件)
// 示例:
db.student.find({"name":"兮赫"})
db.集合名称.find(json条件,{显示字段名:1,不显示字段名:0})
//示例:
db.student.find({"name":"兮赫"},{name:11,age:1,_id:0})
db.collection.update(query,update,options)
query:查询条件, 相当于sql语句的where
update:更新的文档内容
options:选项
db.student.update({"name":"兮赫"},{"name":"兮赫","age":19})
-- 存在修改
db.student.update({"name":"兮赫"},{$set : {"name":"xihe"}})
-- 不存在,创建
db.student.update({"name","兮赫"},{$set : {"sex":"男"}})
db.student.update({"name":"兮赫"},{$set :{"age":18}},{multi:false})
db.集合名称.remove(条件)
删除符合条件的文档
db.student.remove({"name":"兮赫"})
db.student.remove({"_id":ObjectId("xxxxxxxxxxxxxxxxxxx")})
db.student.remove({})
db.createUser({
user:"name",
pwd:"password",
customData:{information},
roles:[
{ role: "", db: "" } | "",
...
]
})
roles.role : 用于设置角色,取值参考“内置角色”
roles.db : 用于设置哪个数据库,配置role使用(不同的数据库db,具有不同的角色role)
db.createUser({
user:"root",
pwd:"1234",
roles:[{"role":"root","db":"admin"}]
})
db.createUser({
user:"test",
pwd:"1234",
roles:[{"role":"readWrite","db":"demo"}]
})
角色分类 | 取值 | 描述 |
---|---|---|
超级用户角色 | root | 超级账户和权限,只在admin中可用 |
数据库用户角色 | read | 授权User只读数据的权限,允许用户读取指定的数据库 |
readWrite | 授权User读/写数据的权限,允许用户读/写指定的数据库 | |
数据库管理角色 | dbAdmin | 在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等 |
dbOwner | 在当前的数据库中执行任意操作,增、删、改、查等 | |
userAdmin | 在当前的数据库中管理User,创建、删除和管理用户。 | |
集群管理角色 | clusterAdmin | 授权管理集群的最高权限,只在admin中可用 |
clusterManager | 授权管理和监控集群的权限 | |
hostManager | 管理server | |
clusterMonitor | 授权监控集群的权限,对监控工具具有readonly的权限 | |
备份恢复角色 | backup | |
restore | ||
所有数据库角色 | readAnyDatabase | 授权在所有的数据库上读取数据的权限,只在admin 中可用 |
readWriteAnyDatabase | 授权在所有的数据库上读写数据的权限,只在admin 中可用 | |
userAdminAnyDatabase | 授权在所有的数据库上管理User的权限,只在admin中可用 | |
dbAdminAnyDatabase | 授权管理所有数据库的权限,只在admin 中可用 |
show users
db.updateUser(
"",
{
customData : { },
roles : [
{ role: "", db: "" } | "",
...
],
pwd: ""
},
writeConcern: { }
)
use admin
db.updateUser("root",{roles:[{role:"readWriteAnyDatabase",db:"admin"}]})
格式: db.changeUserPassword(“username”,“newPassword”)
db.changeUserPassword("root","root")
格式: db.dropUser(“用户名”)