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

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


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

最佳答案

可能最好的方法是利用测验_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; });

关于javascript - 筛选 meteor 集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37053790/

10-10 08:38