2016-09-21 8 views
0

はどのようにarangosh
1)与えられたユーザー
2)指定されたデータベース
のためのすべての付与されたユーザーのすべての許可されたデータベース内から取得するために、特定のユーザー/データベースのarangoshが付与されますデータベース/ユーザー?Arangodb:

答えて

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)あなたが与えられたデータベースのいずれかへのアクセス権を持つユーザーを検索することができます第二AQLで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"]})

。ユーザーは、明示的なものではなく、(ルートユーザーのような)すべてのデータベースにアクセスできます。この場合、私の例のように、*をデータベース名として使用する必要があります。