来自mongodb的值在控制台或浏览器中显示

时间:2016-08-21 10:21:50

标签: javascript node.js mongodb

所有我必须尝试在控制台中打印一个数字,这个数字保存在我的MongoDB中,但是当我在下面的data.min_score中获取它时,它在我的控制台中给了我未定义的。 我也用过parseInt然后输出NaN

根据我的方案,我的min_score值是10 我的要求是在控制台或浏览器中打印10

1)。节点js代码

   this.levelChange = function(req, res, next){

    try{

        var arr = [];
        var query = {level_num:1};
        QuizLevel.find(query,function(err,data){

            arr.push(data.min_score);
            console.log(arr);
        });
    }catch(err){
        console.log("Error");
        return next(err);
    }
};

2).Level Schema

   var LevelSchema = new Schema([
     {
     _id:{type:String},
     age:{type:Number},
     level_num:{type:Number},
     min_score:{type:Number},
     max_questions:{type:Number}
     }

3)。控制台输出

  undefined

4)。这是我的Json数据

   {
   "age":5,
   "level_num":1,
   "min_score":10,
   "max_questions":30
   }
   {
    "age":5,
    "level_num":2,
    "min_score":12,
    "max_questions":33
   }
   {
   "age":5,
   "level_num":3,
   "min_score":15,
   "max_questions":35
   }

1 个答案:

答案 0 :(得分:0)

对模式使用.find函数时,将返回与参数中给出的查询匹配的对象数组。在这里,您正在使用 -
arr.push(data.min_score);
但数据是一个数组。尝试使用
arr.push(data[0].min_score);
看看它是否有所作为并对此发表评论。