我刚升级到2.6。我运行authSchemaUpgrade
。但在那之后,我设法从数据库中删除所有用户(它是一个私有的小型数据库,所以这不是太糟糕)。现在我创建了一个新用户admin
:
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
在管理数据库上有db.auth("admin","..")
之后,我应该能够查询任何其他数据库,但在我这样做之后:
用户otherDatabase 展示收藏品
我明白了:
2014-06-09T09:33:36.853+0000 error: {
"$err" : "not authorized for query on otherDatabase.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
我错过了什么?
答案 0 :(得分:1)
您需要为管理员用户提供readWriteAnyDatabase
角色,以便该用户可以查询其他数据库。
您可能还需要考虑授予管理员用户dbAdminAnyDatabase
和clusterAdmin
个角色。