Arangodb:arangosh获得授予数据库/用户给定用户/数据库

问题描述:

如何从arangosh
1)给定用户
2)所有授予用户对给定的数据库
所有授予数据库中得到什么?Arangodb:arangosh获得授予数据库/用户给定用户/数据库

您可以使用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用户),而不是一个显式的。在这种情况下,你必须使用*作为数据库名称,就像我的例子。