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 });
    })
});