我试图查询(获取)一个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中获取特定字段值并存储到变量中的查询。
答案 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,
})
});