Realm JS 获取管理员用户拥有的记录

Realm JS get records owned by a user with admin user

我正在开发一个应用程序,我在其中使用具有精细分级权限的 Realm JS。 我认为这是一个非常重要的功能,它比使用分离领域要好得多。 我成功实现了记录级权限,所以我有一个 table 具有不同用户拥有的不同记录。 现在我要做的是在服务器端和管理员凭据检索特定用户拥有的给定 table 的所有记录。 那可能吗?我在文档中找不到任何有用的东西

选项 1 - 按用户过滤

此选项取决于您如何设置用户角色以及如何将它们应用于对象。如果您使用为每个用户创建的默认 __User 角色并使用该角色创建您的权限,只要您拥有 userId,您就可以查询对象的权限以查找特定用户的权限。

例如获得对象的第一个权限

let permission = object.permissions[0];

角色名称将是:

let roleName = permission.role.name

roleName 的格式为 '__User:Id'

因此,理论上您可以这样查询(未经测试):

realm.objects('YourObject').filtered(permissions.role.name == '__User:${id}');.

选项 2 - 以用户身份登录

另一个选项,也是我所做的,是以用户身份登录。我使用 JWT Auth,所以我不需要密码。我为用户生成一个 JWT 令牌并登录。然后我可以以该用户的身份打开领域,并且只有该用户的记录可用。