Mongoose.findOne 没有 return 任何东西,为什么?
Mongoose.findOne doesn't return anything, why?
我需要return从Mongoose.findOne
到变量
的搜索结果
results = Lang.findOne({page: params.page,lang: params.lang, param: params.param}, function(err, lang) {
if( err || !lang) {
console.log("No translation!");
} else {
return lang.trans;
};
}
有办法吗?我尝试了几个小时来寻找异步解决方案。功能,什么都没有...
我还找到了一些文章说这是不可能的,但是有没有其他方法可以实现这一点?
这对我来说真的很重要,因为我的多语言项目需要这个,我需要翻译:
res.render('index',{titleGen : req.__({page:'home', lang:req.locale, param:'hello'})});
解决方法如下:
exports.getLang = getLang = function(params,callback){
console.log('received: '+params.page+' + '+params.lang+' + '+params.param);
Lang.findOne({page: params.page, lang: params.lang, param: params.param},function(err, lang){
if(err)
console.log(err)
else{
callback(lang.trans);
}
});
}
和路由:
router.get('/', function(req, res) {
req.__({page:'home', lang:req.locale, param:'hello'},function(text){
res.render('index',{titleGen : text });
})
});
我需要return从Mongoose.findOne
到变量
results = Lang.findOne({page: params.page,lang: params.lang, param: params.param}, function(err, lang) {
if( err || !lang) {
console.log("No translation!");
} else {
return lang.trans;
};
}
有办法吗?我尝试了几个小时来寻找异步解决方案。功能,什么都没有... 我还找到了一些文章说这是不可能的,但是有没有其他方法可以实现这一点?
这对我来说真的很重要,因为我的多语言项目需要这个,我需要翻译:
res.render('index',{titleGen : req.__({page:'home', lang:req.locale, param:'hello'})});
解决方法如下:
exports.getLang = getLang = function(params,callback){
console.log('received: '+params.page+' + '+params.lang+' + '+params.param);
Lang.findOne({page: params.page, lang: params.lang, param: params.param},function(err, lang){
if(err)
console.log(err)
else{
callback(lang.trans);
}
});
}
和路由:
router.get('/', function(req, res) {
req.__({page:'home', lang:req.locale, param:'hello'},function(text){
res.render('index',{titleGen : text });
})
});