我有一个名为notifications
的模板助手,我想将3个集合游标返回到我的模板,以便我可以查看所有
<ul class="dropdown-menu notification">
{{#if notificationCount}}
{{#each notifications}}
{{> notification}}
{{/each}}
{{else}}
<li><span>No Notifications</span></li>
{{/if}}
</ul>
帮手
notifications: function() {
if (Meteor.user()) {
var accepted = Notifications.find({ origin: Meteor.user().username, status: 'ACCEPTED' });
var denied = Notifications.find({ rival: Meteor.user().username, status: 'DENIED' });
var confirmed = Notifications.find({ rival: Meteor.user().username, status: 'CONFIRMED' });
return accepted, denied, confirmed;
}
}
最好的方法是什么?谢谢!
答案 0 :(得分:1)
你的问题的字面答案是在所有游标上运行fetch
并将它们连接成一个数组。
return accepted.fetch().concat(denied.fetch(), confirmed.fetch());
因为您的所有文档都来自单个集合,所以您也可以使用更复杂的查询。试一试:
var username = Meteor.user().username;
return Notifications.find({
$or: [
{
origin: username,
status: 'ACCEPTED'
}, {
rival: username,
status: {$in: ['DENIED', 'CONFIRMED']}
}
]
});