linkedin的dustJS是否与mongoosejs对象一起使用?

时间:2014-06-23 13:37:19

标签: node.js express mongoose dust.js kraken.js

我在krakenjs中遵循了passportjs的例子。 https://github.com/krakenjs/kraken-examples/blob/master/with.passport/lib/auth.js#L104

这是我从示例中获取的代码片段。

exports.injectUser = function() {
    return function injectUser(req, res, next) {
        if (req.isAuthenticated()) {
            res.locals.user = req.user;
        }
        next();
    }; 
};

当我尝试{user}时,它会输出用户对象中的所有字段,但是当我执行{user.fullname}时,它会输出空白。

如果我将代码更改为以下,

exports.injectUser = function() {
    return function injectUser(req, res, next) {
        if (req.isAuthenticated()) {
            res.locals.user = JSON.parse(JSON.stringify(req.user)); 
        }
        next();
    };
};

当我这样做时,{user.fullname}可以正常工作。知道为什么dustjs无法解析猫鼬对象?

我试着检查对象的实例类型是什么,它说[Object object]。但它不会工作,除非我明确JSON.stringify和JSON.parse它。

任何推荐的解决方案或解释为何会发生这种情况?

1 个答案:

答案 0 :(得分:2)

找到解决方案。这是dustjs-linkedin库的问题。我使用的是2.4.0。当我将其更改为2.3.4时,它可以正常工作。希望它能帮助别人。