MongoDB 字段 returns 一个数字,但使 javascript 变量未定义

MongoDB field returns a number but makes javascript variable undefined

价值

found.totalfunds = 99

但是当我把它赋值给变量时

funds

它 returns 未定义 console.log(资金)

 router.get("/:id/managefunds/",middleware.isLoggedIn,function(req,res){

    console.log("Manage Funds");
     var societyId = req.params.id;
     // res.send(societyId);
     var funds ;
     Society.findById({_id:societyId},function(err,found){
        console.log("fromMongo"+found.totalFunds);
        funds = found.TotalFunds;
     });
     console.log("FUNDSSSS: "  + funds);

     res.render("campgrounds/managefunds",{parm:societyId,funds});

});

console.log("fromMongo"+found.totalFunds); 这个returns是我默认的号码。

Society.findById 有一个回调,因为它是 异步的.

您必须修改代码以仅在执行回调时继续:

router.get("/:id/managefunds/",middleware.isLoggedIn,function(req,res){

    console.log("Manage Funds");
     var societyId = req.params.id;
     // res.send(societyId);
     var funds ;
     Society.findById({_id:societyId},function(err,found){
        console.log("fromMongo"+found.totalFunds);

        funds = found.TotalFunds;     console.log("FUNDSSSS: "  + funds);

        res.render("campgrounds/managefunds",{parm:societyId,funds});
     });
});