【问题标题】:Mongo - Return information from arrayMongo - 从数组返回信息
【发布时间】:2016-03-25 06:06:00
【问题描述】:

目前我正在使用 Meteor 为 FreeCodeCamp 项目开发一个投票应用程序,并且遇到了一个小问题。

我正在尝试创建一个帮助程序,该帮助程序通过民意调查集合并仅返回用户尚未投票的民意调查。对投票进行投票的用户存储在此 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}});
    }
});

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

【问题讨论】:

    标签: arrays mongodb meteor


    【解决方案1】:

    解决这个问题的正确方法如下:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      相关资源
      最近更新 更多