我如何从使用节点js的mongodb集合中获得单个字段值

我正在尝试从我的集合级别中find单个字段的值。 但是当我安慰它给一个未定义的。 我也debugging这一行代码,但它给节点检查器“Runtime.getProperties失败的错误。内部错误:TypeError:无法读取未定义的属性'getters'。 我不明白发生了什么事情,以及如何从我的级别收集字段获取单个值。 我只需要从级别模式level_num字段获取单个值

1)。 这是我的节点js

this.levelChange = function(req, res, next){ try{ var query = {age:5}; QuizLevel.find(query).exec(function(err, result){ if(err) return next(err); var a = result.min_score; console.log(a); res.send(a); }); }catch(err){ console.log("You have error in you code"); return next(err); } }; 

2)。 这是我的水平模式

 { //_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 } 

更换

 var a = result.min_score; 

 var a = result[0].min_score; 

查找返回一个集合。 如果你只想要一个logging尝试

 QuizLevel.findOne(query) 

实际上,find()返回一个数组而不是一个对象。 所以只需要replace代码var a = result[0].min_score; var a = result[0].min_score;

否则,你可以使用下面的代码来获得年龄= 5的所有'min_scores'

 this.levelChange = function(req, res, next){ try { var query = {age:5}; QuizLevel.find(query,{min_score:1}).exec(function(err, result){ if(err) return next(err); var a = result; console.log(a); res.send(a); }); } catch(err){ console.log("You have error in you code"); return next(err); } };