gpt4 book ai didi

node.js - 如何将数据从服务器暴露给客户端

转载 作者:可可西里 更新时间:2023-11-01 10:00:25 24 4
gpt4 key购买 nike

我是 node.js 新手。我正在编写一个单独的 rest API,我想知道在不暴露不必要信息的情况下公开数据的正确方法是什么。

在我的示例中,我有一个“标记”模式。而且我不想向我的客户公开 Mongoose 字段。我的代码:

apiRoutes.get('/tag', passport.authenticate('jwt', {
session: false
}), (req, res) => {
Tag.find({}, (err, tags) => {
return res.json(tags);
});
});

但在客户端,我不想暴露“_id”和“__v”:

{
"_id": "57083a5e725f3cf0242a2916",
"tagName": "Test",
"en_us": "Testing",
"__v": 0,
"lastUpdated": "2016-04-08T23:10:22.759Z"
}

只映射相关字段的正确方法是什么?

最佳答案

您始终可以使用 mongoose 虚拟机。这是一个例子:

在你的模型中,你可以使用这样的东西:

Tag
.virtual('public')
.get(function() {
return {
tagName: this.tagName,
en_us: this.en_us,
lastUpdated: this.lastUpdated
};
});

然后,在进行查询时,只需使用您创建的虚拟:

Tag.find({}, (err, tags) => {
res.json(tags.map(tag => tag.public));
});

关于node.js - 如何将数据从服务器暴露给客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36511171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com