我在服务器端定义了以下出版物:
Meteor.publish('observedQuestionsFeed',function(){
_self = this;
return Questions.find({
observedByUsers : {$exists: true,$elemMatch: {$eq:_self.userId}}});
});
返回我需要的东西;
然后我在我的模板中定义了对该出版物的订阅,如下所示:
Template.observedQuestions.onCreated(function(){
var self = this;
self.autorun(function(){
self.subscribe('observedQuestionsFeed');
});
});
但我不能在我的助手中使用该出版物,因为我需要重复我理解的相同查询,但$ eq无法识别;
我说:
Template.observedQuestions.helpers({
observedQuestions : function(){
questions = Questions.find({
observedByUsers : {$exists: true,$elemMatch: {$eq:Meteor.userId()}}});
return questions;
}
});
由于$ eq无法识别而无效。 我想在这个特定的模板中使用这个非常具体的出版物。我该怎么做? (observedByUsers字段是一个简单的usersIds数组,或者在我的mongo集合中未定义)
答案 0 :(得分:0)
在您的发布功能中,您已经将记录过滤到您想要的内容。例如,如果这是五条记录,那么您只需将这五条记录发送给客户端。因此你应该能够做到:
Template.observedQuestions.helpers({
observedQuestions : function(){
return Questions.find();
}
});