我正在使用 nodejs、express、mongoose 和 passport 进行身份验证。
我有一个名为 User 的猫鼬模型,它包含用户数据(大量数据)。
不,我想创建一个呈现 index.jade 的路由并在模板中设置用户数据。
我的路线是:
app.get('/something', function(req, res) {
res.render('index', {
user: req.user || {}
});
});
我的模板:
doctype 5
html(lang="en")
head
body
script(type='text/javascript')
window.user = #{user};
我有以下两个问题:
我不希望客户端获得整个用户结构。我只需要几个属性,仅此而已。我从 Java 和 .NET 知道有术语“数据传输对象”表示一个对象,其目的是将数据传递给客户端。节点中的等价物是什么?仅向客户端传递相关数据的节点的最佳实践是什么?
客户端需要用户 id 来识别用户。我不想传递 mongo 原始用户文档 _id。我能做些什么?我是否需要以某种方式对 id 进行编码?