【问题标题】:How to exclude fields on return in mongoose如何在猫鼬中排除返回字段
【发布时间】:2021-03-22 04:12:48
【问题描述】:

我有以下代码:

Post.create(req.body)
.then(post => res.status(201).json(post))
.catch(err => res.status(500).json(err))

它工作得很好,但是说我想排除一个返回的字段,比如 __v 字段。我知道我可以通过创建像这样的对象来做到这一点

{
  title: post.title,
  description: post.description
}

对于其他字段等等,但是如果我有 20 个字段,我不想列出每一个字段,那么 mongoose 有没有办法在字段创建后返回时排除它。

【问题讨论】:

    标签: javascript node.js express mongoose


    【解决方案1】:
    const obj = { a: 1, b: 2, c: 3, d: 4 };
    (({ b, c, ...o }) => o)(obj)
    // returns { a: 1, d: 4 }
    

    所以,bc 是您想要省略的键/值对的键:

    Post.create(req.body)
      .then(post => res.status(201).json((({ b, c, ...o }) => o)(post)))
      .catch(err => res.status(500).json(err))
    

    您可能需要检查那里的括号,但我认为这是正确的。

    【讨论】:

    • 好的,在 lodash 中有没有可用的方法?
    猜你喜欢
    • 2015-09-25
    • 2021-07-22
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2019-09-05
    • 2023-03-20
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多