Мне нужна помощь, чтобы опубликовать несколько данных по категории, и когда я выбираю несколько данных на выбранном входе и отправляю, выдается ошибка. см. ниже ошибку
setSelected = (selected) => {
this.setState({ selected });
};
handleSubmitPost = (e) => {
const selected = this.state.selected;
let select = [];
for (let i = 0; i < selected.length; i++) {
select = [...select, selected[i].value];
}
console.log(select);
e.preventDefault();
const fd = new FormData();
fd.append("title", this.state.title);
fd.append("category", select);
fd.append("article", this.state.article);
fd.append("blogImage", this.state.blogImage);
axios
.post(`http://localhost:5000/posts`, fd)
.then((res) => {
console.log(res);
})
.catch((err) => console.log(err));
};
, вот схема модели. МОДЕЛЬ
const postSchema = new mongoose.Schema({
title: { type: String, required: true },
category: [
{
type: Schema.Types.ObjectId,
ref: "PostCategory",
},
],
article: { type: String, required: true },
blogImage: { type: String, required: true },
createdAt: { type: Date, default: Date.now },
});
вот мой файл маршрута. МАРШРУТЫ
router.post("/", upload.single("blogImage"), async (req, res) => {
const { title, article, createdAt, category } = req.body;
const newPost = new Post({
title,
category,
article,
createdAt,
blogImage: req.file.path,
});
try {
const savedPost = await newPost.save();
res.json(savedPost);
} catch (err) {
res.status(400).send(err);
}
});
, когда я выбираю несколько при выборе входа, это ошибка при отправке.
Error: Request failed with status code 400
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:61)
, но когда я выбираю только одну, она проходит. Я могу сохранить только один в поле категории «май», и я хотел сохранить несколько в поле категории.