2
に特定のオブジェクトの配列に投稿助けが必要は、私がエラーを持っているマングース
POSTできません/ API /ダンス/ 5a0c6f69b31b2f85c57de5bb /イベント
ここ
は私のスキーマです
const EventSchema = new Schema({
title: String,
date: Date,
description: String,
eventURL: String,
facebookURL: String
})
const DanceSchema = new Schema({
name: String,
events: [EventSchema]
})
イベントコントローラは次のようになります。
const express = require("express");
const Event = require("../models/event");
const Dance = require("../models/dance");
const router = express.Router();
router.get("/", (req, res) => {
Event.find().then((events) => {
res.json(events);
});
});
router.get("/:id", (req, res) => {
console.log(req.params.id)
Event.findById(req.params.id).then((event) => {
res.json(event);
});
});
router.post("/", (req, res) => {
const danceId = req.params.danceId;
const eventId = req.params.eventId;
const newEventInfo = req.body.events;
Dance.findById(danceId).then((dance) => {
const foundDance = dance.find((dance) => {
return dance.id === danceId
})
const newEvent = new Event(newEventInfo);
foundDance.events.push(newEvent);
console.log(newEvent)
return dance.save();
}).then((dance) => {
res.json(dance);
}).catch(err => console.log(err));
})
module.exports = router;
は、そして、これは私が間違っているつもりな情報
handleSubmit = (e) => {
e.preventDefault();
const payload = this.state;
const danceId = this.props.match.params.danceId
axios.post(`/api/dance/${danceId}/events`, payload).then((res) => {
this.setState({"redirect": true});
}).catch(err => console.log("fail"));
};
を送ってる方法ですか?それ以上の情報が必要なら私に知らせてください。私の最初の投稿:)
あなたがメソッドを投稿する必要があります: 'router.post( "/ API /ダンス/:danceId /イベント"、(REQ、RES)=> { ...} ' – YouneL
私はPOSTのハンドラが表示されません'/api/dance /:danceId/events'バックエンドで – dhilt
私はそれをrrouter.post( "/ api/dance /:danceId/events" "、(req、res)=> {...}でも、私はまだ同じエラーが出ているよ。 – mwlai