在mongodb中查询以使用nodejs获取特定字段值

时间:2016-07-23 08:27:51

标签: node.js mongodb

我试图查询(获取)一个MongoDB集合的单个字段值,我想使用节点js将其存储在变量中 我不知道如何执行查询,以便获取特定的字段值并存储到变量中。

1).Node js

var agegroupQuiz = require('../models/agegroup.js');

exports.agegroupController = function(req,res,next){

try{
var query = {max_age:item};  max_age value is 5 in my mongo database

    var age = agegroupQuiz.findOne(query,function(err,data){
      if(err){
        console.log(err);
      }
       res.send(data);
    });
   if(age===5){
   console.log(age);   //this will show me the value of stored in mongodb database.
             return next(err);
            }  
   else{console.log("error in your code");}
  }catch(err){
        console.log('Error While Saving the result ' +err);
        return next(err);
    }
  }

2).Mongodb Schema

  This is my age schema inside models (../models/agegroup.js)

  module.exports = (function AgeGroupSchema () {

  var Schema = mongoose.Schema;

  var AgeGroupSchema = new Schema({


        max_age:{type:Number}         //I want this value is stored   into my age variable.


  });

  var AgeGroup = mongoose.model('agegroups', AgeGroupSchema);

  return AgeGroup;
  })();

所以我需要从MongoDB中获取特定字段值并存储到变量中的查询。

1 个答案:

答案 0 :(得分:0)

以下是一个有效的中间件示例:

function find_ageGroup(req, res, next){ 

    agegroupQuiz.findOne({max_age:item},function(err, agegroup){
        if (err) return console.log(err);

        if(agegroup){
            data = agegroup;
            next();
        } else {
            // Do some form of redirect or render if nothing is found.
        }
    });

}

然后,您可以将此功能用作路线中的中间件(示例):

app.get('/quiz', find_ageGroup,  function(req, res) {
    res.render('yourpage.ejs',{
        data: data, 
    })
});