如何从arangosh内获得
1)给定用户的所有授权数据库
2)给定数据库的所有授权用户
?
答案 0 :(得分:2)
您可以使用AQL执行此操作。
1)db._query("FOR u IN _users FILTER u.user == @user FOR db IN ATTRIBUTES(u.databases) FILTER u.databases[db] == 'rw' RETURN db", {"user":"user_name"})
2)db._query("FOR u IN _users LET userDbs = (FOR db IN @dbs FILTER u.databases[db] == 'rw' RETURN db) FILTER LENGTH(userDbs) RETURN u.user", {"dbs":["*","database_name","another_database_name"]})
使用第二个AQL,您可以搜索有权访问其中一个给定数据库的用户。用户可以访问所有数据库(如root用户),而不能访问一个显式数据库。在这种情况下,您必须使用*
作为数据库名称,就像在我的示例中一样。