Javascript 过滤流星收集
我有一个mongoDB(meteor)集合,它使用fetch方法返回一个对象集合。数组中的每个返回对象的形式如下Javascript 过滤流星收集,javascript,meteor,Javascript,Meteor,我有一个mongoDB(meteor)集合,它使用fetch方法返回一个对象集合。数组中的每个返回对象的形式如下 {quiz : {_id : 1, title : 'The days of our lives'} user : {name : 'Jamie'} score : 34} 我想过滤查询结果并按测验标题分组,以便根据测验标题对所有分数进行分组。感谢您的帮助最好的方法是利用测验\u id。你可能会遇到这样一种情况:两个题目都一样,但测验却不一样。
{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; });
虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!