如何使用文档userId?
检索文档单个属性值首先,我使用以下代码
返回文档_Id
Session.set('getUserId', Al.findOne({_id: Session.get('appealId')}));
console.log(Session.get('getUserId').userID);
我可以在控制台中看到userID
已成功打印,现在我想使用userID
从Meteor.users
集合中检索另一个值。
这是我的代码:
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').profile.annualLeave
更改为Session.get('userDetails').username
,我仍然收到同样的错误,告诉我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"});
});
答案 0 :(得分:0)
错误消息表示
Session.get('userDetails')
未定义,这反过来意味着调用
Meteor.users.findOne({_id: Session.get('getUserId').userID})
必须没有返回任何内容
你不清楚这两段代码是如何相关的,你重复使用Session似乎很复杂。我甚至不知道为什么这行代码存在
console.log(Session.get('test').userID);
除非'测试'是你之前存储的东西