【问题标题】:Node Express, avoid credentials in AJAX responseNode Express,避免在 AJAX 响应中使用凭据
【发布时间】:2014-04-16 18:02:59
【问题描述】:

说我有这个:

exports.listUsers = function(req, res, next){
    userModel.find(function(err, users){
        if(err){
            return next(err);
        }
        return res.send(users);
    });
};

我将通过网络将user 对象数组发送回客户端。现在另一个用户可以打开网络选项卡并查看响应中的字段:emailpassword 等。我是否必须明确说明我想从 Mongoose 查询返回哪些字段,或者有没有办法删除不需要的字段以在响应中发送?哪种方法更好?

【问题讨论】:

  • 为什么要公开全球列表?真的不知道你在这里问什么。
  • @NeilLunn 好的,想象一下更像是一个“用户目录”,用于搜索目的,例如关注/取消关注...
  • 我所说的只是“看看你的代码”。带有无参数.find()。为什么?你能不提供“过滤”条件吗?
  • @NeilLunn,我当然可以。但我问的是最好明确说出您想要什么或处理文档并删除不需要的字段?
  • 您似乎在寻找某种“编辑”声明。目前 MongoDB 不存在此功能,据我所知,没有计划在“文档”级别执行此操作(在撰写本文时,即将发布的版本中包含字段级别的实现)。在“文档”级别上“过滤”结果的自然进程是通过您的标准过滤。这似乎是常识,我看不出这个问题的有效性。如果你比其他人思考得更理智,那么也许在这一点上让你的问题更清楚。

标签: node.js api mongodb express mongoose


【解决方案1】:

在“领域”级别(因为我们在对话中澄清了这一点)你可能想要的是$redact

在撰写本文时可用,但在即将发布的 2.6 版本和更高版本中可用。

【讨论】:

    猜你喜欢
    • 2017-06-11
    • 2014-03-29
    • 2018-01-13
    • 2014-05-10
    • 2020-09-15
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多