如何在mongodb的节点js中继承循环

时间:2016-08-27 18:32:02

标签: javascript node.js mongodb loops

我试图通过比较他们的id来过滤问题。为此我创建了两个集合。一个问题和第二次尝试问题ID收集。在此代码中,我尝试获取存储在第二个集合中的第一个尝试的问题ID。并在第二个功能 我获取所有问题,我创建一个for循环来获取所有问题ID。在我的第一个循环中,我不知道这是对还是不对 创建了另一个for循环,循环我的尝试问题id。这样它将在整个终点迭代。但问题是它正确地循环第一个id并在控制台中打印,但在此之后,它将从循环中退出。意味着它将在问题id

结束之前运行

我的要求是它将从for(i&lt; = 1)开始循环,从(i <= 0)开始,第一次开始,然后是(i <= 2),直到结束为(i <= 100) 。而且内圈也是以同样的方式。

    try{
     async.waterfall([
      function(callback){
        var query = {'quiz.score':1};
        var select = 'quiz';

        childinfo.find(query,select,function(err,attemptquestion){
          if(err){
            return next(err);
          }else{
            callback(null,attemptquestion);
          }
        });
      },
      function(attquest){
        var query = {};
        var i,j;

        childquestion.find(query,function(err,questions){
          if(err){
            return next(err);
          }else{
            for(i=0;i<=questions.length;i++){
              var quest = JSON.stringify(questions[i]._id);
              console.log(quest);
              for(j=0;j<=attquest.length;j++){
                var attqus = JSON.stringify(attquest[j].quiz[j].questionId);
                console.log(attqus);
              }
            }
          }
        });
      }         
    ]);
  }catch(err){
    console.log("Error in your code");
    return next(err);
  }

2)。这是我尝试的集合架构

     quiz: {type: Array,
        questionId: {
            type: mongoose.Schema.Types.ObjectId,
                                    ref: 'Question',
                                    index: true
            },
            score: { type: Number },
            time: { type: String }
    }

3)。这是我的第二个问题集

      title: { type: String, required: true },
        options: { type: Array, required: true },
        result: { type: Array, required: true },
        feedback: { type: String }

我正在做什么:我向前端发送问题,前端发送回问题分数为0和1格式的问题意味着如果问题是正确的分数1,则其他0将存储在尝试的问题集中。

为什么我这样做:因为我在下次发送问题时这样做 从问题收集到前端。它将从尝试中过滤掉 questionId。尝试收集的手段,其中存储有得分1的问题ID将从问题集合中过滤掉,下次只有该问题将被发送到前面,问题ID不等于得分1尝试的问题ID。

0 个答案:

没有答案