2017-02-22 22 views
0

我创建了测试和开发数据库上的dbowner角色的用户mongodb:为什么dbowner无权显示(列表)用户或角色?

[admin] >show users 
{ 
    "_id" : "admin.apiuser", 
    "user" : "apiuser", 
    "db" : "admin", 
    "roles" : [ 
     { 
      "role" : "dbOwner", 
      "db" : "rest-api-test" 
     }, 
     { 
      "role" : "dbOwner", 
      "db" : "rest-api-development" 
     } 
    ] 
} 

认证后

$ mongo -u apiuser -p my password --port 7272 --authenticationDatabase admin 

我不能列出用户在测试数据库

[test] user: apiuser>show users 
2017-02-22T19:03:05.744+0100 E QUERY [thread1] Error: not authorized  
on test to execute command { usersInfo: 1.0 } : 

既不发展db

[test] user: apiuser>use development 
switched to db development 
[development] user: apiuser>show users 
2017-02-22T19:04:08.983+0100 E QUERY [thread1] Error: not authorized 
on development to execute command { usersInfo: 1.0 } : 

Mongodb doc指示dbowner角色提供了对数据库执行任何管理操作的能力。它结合了由readwrite,dbAdmin和userAdmin角色授予的权限

显示用户不是userAdmin授予的特权吗?不是很清楚... 有人可以启发我吗?我应该如何创建“apiuser”用户和角色进行的测试和开发数据库的任何行动,特别是CRUD用户和角色...... 感谢

+0

你的mongo服务器版本是什么? – Veeram

+0

对不起忘了提:db版本v3.4.2 – erwin

回答

0

发现我的错误...

我使用的开发db,我应该使用rest-api-development!太差