[英]fetch a particular value using node js and mongodb
我必須嘗試使用Node.js從MongoDB中獲取字段值。 但是它顯示我的控制台中undefined
。 我的要求是使用Node.js從MongoDB在控制台或瀏覽器中打印數據。
1)。 這是我的節點js
this.levelChange = function(req, res, next){
try{
var query = {'level_num':2};
QuizLevel.find(query,function(err,data){
var a = data.min_score;
console.log(a);
res.send(a);
});
}catch(err){
console.log("Error");
return next(err);
}
};
2)。 這是我的js模式
{
_id:{type:String},
age:{type:Number},
level_num:{type:String},
min_score:{type:String},
max_questions:{type:String}
}
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
}
只需將findOne(查找返回文檔數組)與項目字段一起使用(僅返回所需的字段)。
並且不要忘記檢查err字段!
try{
var query = {'level_num':2};
QuizLevel.findOne(query,{min_score: 1}, function(err,data){
if(err || !data)
{
console.log(err);
return next(err);
}
else
{
var a = data.min_score;
console.log(a);
res.send(a);
}
});
}catch(err){
console.log("Error");
return next(err);
}
我可能是錯誤的,但看起來您正在嘗試訪問對象屬性,而結果是一個集合,請參見:
data.min_score // => [{ ... }, { ... }].min_score
與
data[0].min_score
您想要實現的目標是:
var scores = data.map((function (item) {
return item.min_score;
});
console.log(scores);
您始終可以使用console.log(typeof data)
來檢查結果的類型,也可以簡單地編寫console.log(data)
,有時console.log(Object.keys(data))
很方便進行簡單的調試,更不用說node -檢查員
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.