簡體   English   中英

使用節點js和mongodb獲取特定值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM