角色数据模型:-
Roles : {
id: string,
scopes: [
{
isOwnes: bool,
account: string(id),
privileges: array_of_string
}
]
}
在下面的函数中,我存储了所有用户,这会占用大量空间和时间。
User.subUsers = async function(accessToken, cb) {
const accountId = accessToken.accountId;
let userData = [];
const user = await User.find();
for (let it = 0; it < user.length; it++) {
const roleData = await User.app.models.roles.findById(user[it].roleId);
for (let iterator = 0; iterator < roleData.scopes.length; iterator++) {
const scopeAccountId = roleData.scopes[iterator].account;
if (scopeAccountId == accountId) {
userData.push({
email: user[it].email,
id: user[it].id,
});
break;
}
}
}
return cb(null, userData);
};
我想以某种方式更改此程序,以便我可以获取存在给定帐户 ID 的所有角色,但我找不到如何应用该条件的方法。
谁能帮我?