2016-12-06 72 views
0

如何通過使用文檔userId檢索文檔單個屬性值?如何根據文檔ID檢索集合中的單個屬性值?

首先,我用下面的代碼

Session.set('getUserId', Al.findOne({_id: Session.get('appealId')})); 
console.log(Session.get('getUserId').userID); 

我可以看到userID在控制檯打印成功,現在我想用userIDMeteor.users集合中檢索另一個值返回文檔_Id

這裏是我的代碼:

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.annualLeaveSession.get('userDetails').username和我仍然得到相同的錯誤告訴我,username是undefined

更新:

對於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

該錯誤消息表示

Session.get('userDetails') 

沒有定義,這又意味着,在調用

Meteor.users.findOne({_id: Session.get('getUserId').userID}) 

必須具有不退回任何東西

你不清楚這兩段代碼是如何相關的,你對Session的重複使用看起來很複雜。我甚至不知道爲什麼這行代碼是有

console.log(Session.get('test').userID); 

除非「測試」是你指正存儲較早

+0

感謝的東西,我固定它,我的意思是「getUserId」會議。對不起, –

+0

好,但你仍然沒有接近根部。 Session.get('appealId')來自哪裏? – Mikkel

+0

我使用路由器存儲它的值。我更新了我的問題:) –

相關問題