我在Meteor中有一个测验应用程序。
我有字段correctAnswers
和wrongAnswers
。
是否有可能将洗牌后的数组中的正确答案和错误答案发布给客户?
现在,用户可以打开他的控制台并输入Questions.find().fetch()
并查看正确答案。
另一种选择当然是将所有答案(错误和正确)存储在一个数组中,并将正确答案的索引保存在另一个字段中,而不是填充到客户端,但我更想要一个更直观的数据结构
答案 0 :(得分:0)
您可以在同一个集合上创建两个出版物:一个仅发布没有答案的问题,另一个发布已回答问题的答案。 Meteor将在客户端上联合这些数据,以便您可以一致地查询集合,但基本上您必须推迟向客户端推送答案。
Meteor.publish('questionsOnly',function(){
return Questions.find({},{fields: {questionText: 1}});
});
Meteor.publish('answersOnly',function(answeredQuestions){
return Questions.find({_id: {$in: answeredQuestions}},{fields: {correctAnswers: 1, wrongAnswers: 1}});
});