Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 过滤流星收集_Javascript_Meteor - Fatal编程技术网

Javascript 过滤流星收集

Javascript 过滤流星收集,javascript,meteor,Javascript,Meteor,我有一个mongoDB(meteor)集合,它使用fetch方法返回一个对象集合。数组中的每个返回对象的形式如下 {quiz : {_id : 1, title : 'The days of our lives'} user : {name : 'Jamie'} score : 34} 我想过滤查询结果并按测验标题分组,以便根据测验标题对所有分数进行分组。感谢您的帮助最好的方法是利用测验\u id。你可能会遇到这样一种情况:两个题目都一样,但测验却不一样。

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

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

我想过滤查询结果并按测验标题分组,以便根据测验标题对所有分数进行分组。感谢您的帮助

最好的方法是利用测验
\u id
。你可能会遇到这样一种情况:两个题目都一样,但测验却不一样。那么你的团队就会变得一团糟。因此,只需使用点符号,并找到适用于该测验的所有答案,如下所示:

var filter = Collectionname.find({'quiz.title': 'The days of our lives'}).fetch();
console.log(filter);
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();
并在客户机上使用例如
下划线J

_.groupBy(answers, function(answer){ return answer.quiz._id; });

虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!