我是meteor的新手,有两个Mongo系列,user
和patient
。我已将它们连接起来,在控制台中显示数据但不在html模板中。我可以在控制台中的对象中显示数据,但不能在我的html模板上显示数据,如下图所示:
到目前为止我尝试过:
Template.showpatient.helpers({
'patientName': function () {
var tmpCollection = Patients.find() // `enter code here`
tmpCollection.forEach(function (myDoc) {
var a = Patients.find({"UserID": myDoc.UserID}).fetch().concat(user.find({"UserID": myDoc.UserID}).fetch())
return a;
console.log(a);
});
}
})
在模板方面,我正在显示像这样的数据
{{#each patientName}}
<tr>
<td>
{{FirstName}}
</td>
<td class="f20">
{{LastName}}
</td>
<td>{{Gender}}</td>
<td>{{age}}</td>
<td>{{Email}}</td>
<td>{{HomePhone}}</td>
<td>{{CellPhone}}</td>
<td>{{Fax}}</td>
<td>{{AddressLine1}}</td>
<td>{{AddressLine2}}</td>
<td>{{City}}</td>
<td>{{State}}</td>
<td>{{Zip}}</td>
<td>{{IPAddressCreatedFrom}}</td>
<td>{{MaritalStatus}}</td>
答案 0 :(得分:0)
使用集合的 map()
方法迭代光标,访问患者文档并使用 underscore 方法< strong> _.extend()
,以生成UserID
字段中加入的患者和用户的合并列表。以下内容证明了这一点:
Template.showpatient.helpers({
'patientName': function () {
var merged = Patients.find().map(function(patient){
var user = User.findOne({"UserID": patient.UserID}) // get the
return _.extend(patient, user);
});
console.log(merged);
return merged;
}
})