#javascript #node.js #express #mongoose
#javascript #node.js #выразить #mongoose
Вопрос:
У меня есть следующий код:
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 исключить поле, когда оно возвращается после его создания.
Ответ №1:
const obj = { a: 1, b: 2, c: 3, d: 4 };
(({ b, c, ...o }) => o)(obj)
// returns { a: 1, d: 4 }
Итак, где b
и c
находятся ключи пар ключ / значение, которые вы хотите исключить:
Post.create(req.body)
.then(post => res.status(201).json((({ b, c, ...o }) => o)(post)))
.catch(err => res.status(500).json(err))
Возможно, вам придется проверить скобки там, но я думаю, что это правильно.
Комментарии:
1. Хорошо, есть ли способ для этого, доступный в Lodash?