我有两个mongo系列。这些节目'收集有关于客户的信息'出勤,所以Jane Doe可能有多个文件。人口统计'集合包含地址,电子邮件,电话号码等信息。客户在此集合中有一个文档。顺便说一句,这些集合通过.csv文件导入Mongo。我有一个应用程序的一部分,当用户单击特定客户端的按钮时,我需要搜索这两个集合。因此,如果用户选择Jane Doe,则会查询两个集合,以便显示来自两个集合的信息。
Template.clientGrid.helpers({
'demographic': function() {
var fullName = Session.get('clientName');
return Demographic.find({ FullName: fullName });
},
'programs': function () {
var fullName = Session.get('clientName');
return Programs.find({FullName: fullName});
}
});
有一些瓷砖填充了为Jane Doe找到的信息。在查询集合并填充图块后,看起来一切都很好,除非我稍后发现页面有问题。应该可以点击每个图块来加载模态。但通常在单击图块时不会加载模态。如果用户导航离开此页面,则模态将自发加载。即使平铺加载信息,页面也会以某种方式绑定。
我发现如果模板助手只查询一个集合,则单击时瓷砖会加载模态。一切都很好。因此,看起来这两个集合的查询可能与我这样做的方式有问题。我可以编码它,以便我可以先查询一个集合,然后一旦完成,查询另一个集合?或许它们已经按顺序被查询,还有一些其他问题正在发生。无论问题是什么,我都需要解决它。
编辑:以下是填充信息的其中一个图块行的示例:
<div class="row">
<div class="col s4" id="roommate-change" style="background-color: #1f3a93; color: #fff; height: 275px; position: relative; top: -115px; overflow: auto;">
<p class="grid-title">Roommate Requests:</p>
{{#each programs}}
<p>{{formatCampYear CampYear}}: {{formatRoommate RoomateRequest}}</p>
{{/each}}
</div>
<div class="col s4" id="medicine-change" style="background-color: #2574a9; color: #fff; height: 275px; position: relative; top: -115px">
<p class="grid-title">Medicine:</p>
{{#each programs}}
<p>{{MedicalCondition}}</p>
{{/each}}
</div>
<div class="col s4" id="ss-info-change" style="background-color: #59abe3; color: #fff; height: 275px; position:relative; top: -115px">
<p class="grid-title">SS Info:</p>
{{#each demographic}}
<p class="med-small">Mom's Name: {{MomFName}}</p>
<p class="med-small">Dad's Name: {{DadFName}}</p>
<p class="med-small">Mom's Phone: {{MomPhone}}</p>
<p class="med-small">Dad's Phone: {{DadPhone}}</p>
{{/each}}
</div>
</div>
对于模态,我使用Modalize包:
Template.clientGrid.events({
'click #roommate-change': function () {
Materialize.modalize.display({
template: 'roommateChange',
title: 'Change Roommate Information'
})
},
'click #medicine-change': function () {
Materialize.modalize.display({
template: 'medicalChange',
title: 'Change Medical Related Information'
})
},
'click #ss-info-change': function () {
Materialize.modalize.display({
template: 'ssinfoChange',
title: 'Change SS Parent Information'
})
}
});
注意:有趣的发现...如果我在模板中注释掉人口统计查询并且只允许程序查询,则模态不会加载。如果我注释掉程序查询并仅允许人口统计查询,则会加载模态。
注意2:将人口统计查询从.find()更改为.findOne()并不起作用。没有人口统计数据加载。它只适用于.find()。这很奇怪。
更多信息:这是我发现的内容:根据客户端是否多次进入程序集合,模式不会加载。如果Jane Doe在程序集合中只有一个条目(或零),则模态将起作用。程序集合中的所有名称不止一次都无法加载模态。现在我有了原因,我需要找到解决方案。