ドキュメントuserIdを使用して、ドキュメントの単一の属性値を取得するにはどうすればよいですか?文書IDに基づいてコレクション内の単一の属性値を取り出す方法は?
まず、私は次のコード
Session.set('getUserId', Al.findOne({_id: Session.get('appealId')}));
console.log(Session.get('getUserId').userID);
を使用して文書_Id
を返す私は今、私はMeteor.users
コレクションから別の値を取得するためにuserID
を使用したい、userID
がコンソールで正常に印刷されて見ることができます。ここで
は私のコードは次のとおりです。
Session.set('userDetails', Meteor.users.findOne({_id: Session.get('getUserId').userID}));
console.log(Session.get('userDetails').profile.annualLeave);
が、動作していないよう、私は、コンソールで次のエラーを取得する:
TypeError: Cannot read property 'profile' of undefined
私はSession.get('userDetails').username
にSession.get('userDetails').profile.annualLeave
を変更しようとI username
が定義されていないと同じエラーが表示される
更新日:
appealId
セッションでは、ルータの項目の_Id
を保存するために使用します。後でそれを使用してuserID
(アイテム内の属性)を取得します。
Router.route('/appeal/:_id', function(){
Session.set("appealId", this.params._id);
this.render("navbar", {to:"navbar"});
this.render("appealDetails", {to:"main"});
});
感謝を格納し、何かで、私は「getUserId」セッションを意味し、それを修正しない限り、私も知りません。もう一度申し訳ありません –
しかし、あなたはまだルートの近くにいません。 Session.get( 'appealId')はどこから来たのですか? – Mikkel
私はルータを使ってその値を保存します。私は私の質問を更新:) –