Mongo - 从数组返回信息

时间:2015-12-18 13:48:33

标签: arrays mongodb meteor

目前我正在使用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}});
    }
});

这将返回集合中的所有项目,并且似乎不包括用户在投票人数组中找到的民意调查。

1 个答案:

答案 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 ] }});
    }
});