При использовании res.json () с аргументом это приводит к тому, что CastError: CastError: сбой приведения к ObjectId для значения «undefined» по пути «_id» для модели «Post»
Если я использую просто rest.status (), res.sendStatus () или res.json () без аргументов работает без проблем.
exports.createPost = async (req, res, next) => {
try {
errorsIsEmpty(validationResult(req));
const { communityId } = req.params;
const { type } = req.query;
const { title, content } = req.body;
const user = await User.findById(req.userId)
const community = await Community.findById(communityId);
const banned = await community.authorized(req.userId)
if(banned){
////// This line causes the problem //////
return res.status(403).json({})
}
else {
let post;
if (type === 'text') {
post = new Post({
title,
content,
authorId: req.userId,
});
} else if (type === 'image') {
if (!req.file) {
const error = new Error('No image provided.');
error.statusCode = 422;
throw error;
}
const imageUrl = req.file.path;
post = new Post({
title,
imageUrl,
authorId: req.userId,
});
}
await post.save();
////// This line works//////
res.status(201).json({ postId: post._id });
}
} catch (err) {
console.log(err);
next(err);
// errorFunc(err, next);
}
};
Значение r "undefined" в пути "_id" для модели "Post" '