目前我正在使用Meteor为FreeCodeCamp proyect开发一个轮询应用程序并且有一个小问题。
我正在尝试创建一个通过一组民意调查的助手,只返回用户没有投票的民意调查。已投票的用户存储在此SimpleSchema中定义的数组中:
voters: {
type: [String],
defaultValue: [],
minCount: 0,
autoform: {
type: "hidden"
}
}
我现在的助手看起来像这样:
Template.DoPolls.helpers({
polls: function() {
var user = Meteor.user()
return Polls.find({voters: {$not: user}});
}
});
这将返回集合中的所有项目,并且似乎不包括用户在投票人数组中找到的民意调查。
答案 0 :(得分:0)
解决此问题的正确方法如下:
Template.DoPolls.helpers({
polls: function() {
var user = Meteor.userId()
return Polls.find({voters: {$ne: user}});
}
});
其中$ ne查看选民数组,如果找到userId则不显示该民意调查。
要实现相反的目的(因此,仅轮询用户投票帮助者的位置:
Template.PollsDone.helpers({
polls: function() {
var user = Meteor.userId()
return Polls.find({voters: {$in: [ user ] }});
}
});