findOne没有执行

时间:2017-11-14 09:36:52

标签: node.js mongoose

我有以下代码:

exports.getMyPets = function (req, res){
  var email = req.body.email;
  var result = [{}];
    Owner.findOne({"email" : email }, "_id", function(err, owner){
      if(err)
        res.send(err);
        console.log("Owner: " + owner._id + "\n");
      Pet.find({"OwnerId": owner._id}, function(err, pet) {
        if(err)
          res.send(err)
          var index = pet.length;
          var empty = false;
          if(index > 0)
          empty = true;

          try{
          for (let x = 0; x < index; x += 1){

           PetPicture.findOne({"petId" : pet[x]._id}, function (err, petPic){
              console.log('pet ID: ' + pet[x]._id);
              result[x] = {
                name: pet[x].name,
                breed: pet[x].breed,
                description: pet[x].description,
                imageType: petPic.imageType,
                imageData: petPic.imageType
               };
            }); //end of petPicture.findOne
              console.log('X : ' + pet[x]._id);
          }// end of for loop
        } catch (error){
          console.log(error);
        }
        }
        while(true){
          if (result.length === index)
          break;
        }

        if(!empty){
          res.json(pet);
        } else {
          res.json(result);
        }
      }); // end of Pet,find
    }); // end of petOwner.findOne
};

当我尝试在端点上调用它时,PetPicture.findOne(整个try catch块)的块不会被执行。它不会记录任何内容,甚至不会记录catch部分的错误。我该怎么做才能调试这个?

0 个答案:

没有答案