У меня есть приложение для узла, в котором я создаю сообщение, и мне нужно передать лицо, создавшее идентификатор сообщения, а также сообщение. Проблема в том, что я всегда так все выписывал
const imageUrl = req.file.path;
const title = req.body.title;
const content = req.body.content;
const post = new Post({
title: title,
content: content,
imageUrl: imageUrl,
creator: req.userId
});
мой вопрос сейчас, если у меня их много, нельзя ли использовать библиотеку вроде lodash, чтобы выделить все поля вроде
const body = _.pick(req.body, ['produtTitle', 'productImg', 'productPrice', 'productDesc'])
console.log(`THIS IS ${body}`)
const product = new Product({
body,
userId: req.userId
});
Каждый раз, когда я пытаюсь так, я получаю 404, а в своем терминале я получаю
сообщение: 'Путь productPrice
требуется.',
имя: 'ValidatorError',
свойства: [Объект],
вид: «требуется»,
путь: 'productPrice',
значение: не определено,
причина: не определена,
'$ isValidatorError': true},
для всех полей
и если я сделаю это, как const product = new Product(req.body)
, я получу только одну ошибку для 404
message: 'Path `userId` is required.',
name: 'ValidatorError',
properties: [Object],
kind: 'required',
path: 'userId',
value: undefined,
reason: undefined,
'$isValidatorError': true } }
Я смотрю на библиотеку, потому что выписывание всего может быть очень утомительным и в случае, когда требуется много полей