我有一个显示通知的页面。在此页面上,作为布局的一部分,是一个小通知图标,它还显示通知计数。
为方便起见,我有两个订阅同时运行。两者都在users
集合上。
第一个看起来像这样:
this.subscribe("user", {_id: Meteor.userId()}, {
fields: {
"notifications._id":1
}
});
第二个像这样:
this.subscribe("user", {_id: Meteor.userId()}, {
fields: {
"notifications.title": 1,
"notifications._id": 1,
"notifications.level": 1
}
});
我遇到的问题是,如果第一个订阅首先运行(它确实运行),则第二个订阅不会发布其他字段。
是否有一种干净的方式允许同一个集合的多个投影(比这更清晰:Meteor: publish 2 different projections of array elements)
发布user
接受一个选择器和一组字段,并将其与允许当前用户查看所请求用户的内容合并 - 但是这个要求没有区别,即使我使用不同的出版物问题仍然存在。
我想要的东西很可能无法完成,我应该重构并创建一个notification
集合