过滤流星集合

时间:2016-05-05 14:54:34

标签: javascript meteor

我有一个mongoDB(meteor)集合,它使用fetch方法返回一组对象。数组中的每个返回对象都是这种形式

  {quiz : {_id : 1,
           title : 'The days of our lives'}
   user : {name : 'Jamie'}
   score : 34}

我想按测验标题过滤查询结果和分组,以便我可以根据测验标题对所有分数进行分组。任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

最好的方法是使用测验_id。您可能会遇到两个标题相似的情况,但测验不是。然后你的团队会变得混乱。因此,只需使用点符号并找到应用于该测验的所有答案,如下所示:

var answersByQuiz1 = Answers.find({
    'quiz._id': 1
}).fetch();

如果你想要几组答案,你可以这样做:

var answers = Answers.find({
    'quiz._id': {
        $in: [1,2,3,4,5,6,7] // ids of concern
    }
}).fetch();

使用例如underscorejs

将它们分组到客户端
_.groupBy(answers, function(answer){ return answer.quiz._id; });

答案 1 :(得分:0)

var filter = Collectionname.find({'quiz.title': 'The days of our lives'}).fetch();
console.log(filter);