私はMeteorアカウントの柔軟性に懸念しています。現在のログインユーザーの特定の属性(Meteor.user.profile
)に基づいてクライアント側にMeteor.users
コレクションを返信したい現在ログインしているユーザーに基づいてMeteor.usersコレクションから特定のユーザーを戻すにはどうすればいいですか?
たとえば、HRポジションを持つユーザーは、彼の下で働いているユーザーのみを返すことができます。彼の下で働く従業員はemployeeHR
属性を持つでしょう。
今私があなたから望むのは、私が取る予定のアプローチが実現可能かどうかを知ることです。
私の目的に役立つより良いアプローチがありますか?
UPDATE:
私はauthorityLevel
の値を取得することができるかどうかをテストするために、次のコードを使用し、それが正常にコンソールに出力される。
Session.set('checkAuthority', Meteor.user().profile.authorityLevel);
console.log(Session.get('checkAuthority'));
その後、私が戻ることを試みましたauthorityLevel
に基づいているユーザーは、ここにコードがあります:
if(!Meteor.user().profile.authorityLevel){
return Meteor.users.find({}, { sort: {createdAt: -1}});
}
if(Meteor.user().profile.authorityLevel === "HR") {
return Meteor.users.find({authorityLevel: "HRemployee"}, { sort: {createdAt: -1}});
}
これは機能しません。コンソールでエラーが発生しました
Exception in template helper: TypeError: Cannot read property 'profile' of null
at Object.employees
私はここで間違っていますか?
注:
私はauthorityLevel
属性
別のpackage.Iを使用するのではなく、より速い解決策を実装しようとしています。私の質問が更新されました。 –