原因:
角色无权限
解决:
修改角色 为 包含读权限的角色
db.createUser({user:"root",pwd:"1234",roles:[{"role":"readWrite","db":"demo"}]})
角色 role
角色分类 | 取值 | 描述 |
---|---|---|
超级用户角色 | 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 中可用 |