我有一个mongoDB(meteor)集合,它使用fetch方法返回一组对象。数组中的每个返回对象都是这种形式
{quiz : {_id : 1,
title : 'The days of our lives'}
user : {name : 'Jamie'}
score : 34}
我想按测验标题过滤查询结果和分组,以便我可以根据测验标题对所有分数进行分组。任何帮助表示赞赏
答案 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);