所以我用publishComposite在流星裏做了一個集合連接。我有一個帶有user_id外鍵的父集合(訂閱)。我在Meteor.users集合中查找用戶名以獲得實際的用戶名,但是如何在html模板中實際打印這些內容。我的訂閱數據在那裏,但我如何實際引用用戶名?流星,發佈:複合。如何訪問模板中的連接數據?
這裏發佈代碼:
//publish subscriptions course view
Meteor.publishComposite('adminCourseSubscriptions', function(courseId){
return {
//get the subs for the selected course
find: function(){
return Subscriptions.find(
{course_id: courseId}
);
},
children:
[
{
//get the subscriber details for the course
find: function(sub){
return Meteor.users.find({_id:sub.user_id});
}
}
]
};
});
這裏的模板subdcriptions:
Template.adminCourseDetail.helpers({
courseDetail: function(id){
var id = FlowRouter.getParam('id');
return Courses.findOne({ _id: id });
},
courseSubscriptions: function(){
var id = FlowRouter.getParam('id');
return Subscriptions.find({course_id:id})
},
users: function(){
return Meteor.users.find();
}
});
和模板(這是垃圾)PS課程內容來自一個單獨的集合。這是更容易,我認爲更高性能分開獲取細節,這工作正常。這只是我無法正確顯示的用戶名:
<template name="adminCourseDetail">
<h1>Course Details</h1>
<p>Title: {{courseDetail.title}}</p>
<p>Description: {{courseDetail.description}}</p>
<p>Start Date: {{courseDetail.startDate}}</p>
<p>Number of sessions: {{courseDetail.sessions}}</p>
<p>Duration: {{courseDetail.duration}}</p>
<p>Price: {{courseDetail.price}}</p>
<p>{{userTest}}</p>
<a href="#">edit</a>
<a href="#">delete</a>
<h2>Course Subscriptions</h2>
{{#each courseSubscriptions}}
<div class="row">
<div class="col-md-3">{{username}}</div>
<div class="col-md-3">{{sub_date}}</div>
</div>
{{/each}}
</template>
在此先感謝您的任何建議!
感謝馬蒂亞斯,我完全忘了叫從每塊內的助手時,助手叫你通過循環光標的背景下,因此使該光標數據,通過使用「這個」訪問。試圖弄清楚如何鏈接集合中的數據,我感到十分困惑。 :) –