#mongodb #server #state #mern
Вопрос:
У меня есть приложение, над которым я работаю, и я впервые использую MERN. Когда я использую свой метод POST, чтобы попытаться создать и возразить в своем состоянии, я получаю такой ответ:
_id:61305018ed424fc0fa769dd7
__v:0
Однако то, что я пытаюсь получить, например, это:
movementName: squat,
movementWeight: 100
Вот мой models/exerciseForm.js:
import mongoose from 'mongoose';
const movementSchema = mongoose.Schema({
movementName: String,
movementWeight: String,
});
export const ExerciseForm = mongoose.model('ExerciseForm', movementSchema);
мой controllers/movements.js:
import { ExerciseForm } from '../models/exerciseForm.js';
export const fetchMovements = async (req,res) => {
try {
const postMovement = await ExerciseForm.find();
res.status(200).json(postMovement);
} catch(error) {
res.status(404).json({ message: error.message })
}
};
export const createMovement = async (req,res) => {
const move = req.body;
const newMove = new ExerciseForm(move);
try {
await newMove.save();
res.status(201).json(newMove);
} catch (error) {
res.status(409).json({ message: error.message });
}
};
вот мой routes/movements.js
import express from 'express';
import { fetchMovements, createMovement } from '../controllers/movements.js';
const router = express.Router();
router.get('/', fetchMovements);
router.post('/', createMovement);
export default router;
вот мой server/index.js (Я использую свое правильное имя пользователя/пароль):
import express from 'express';
import mongoose from 'mongoose';
import cors from 'cors';
import movementRoutes from './routes/movements.js';
const app = express();
app.use(cors());
app.use('/movements', movementRoutes)
const CONNECTION_URL = 'mongodb srv://<username>:<password>@cluster0.z0e85.mongodb.net/myFirstDatabase?retryWrites=trueamp;w=majority';
const PORT = process.env.PORT || 5000;
mongoose.connect( CONNECTION_URL )
.then(() => app.listen(PORT, () => console.log(`Server running on port ${PORT}`)))
.catch((error) => console.log(error.message));
Я полагаю, что ошибка где-то в этих файлах, он же мой сервер. Если все здесь выглядит нормально, то,возможно, это в моих действиях, редукторе и т. Д., И я попытаюсь посмотреть там.
Комментарии:
1. попробуйте подключить мангуста перед использованием приложения («/движения», маршруты перемещения).
Ответ №1:
установите body-parser
с npm
помощью и добавьте эти строки в свой импорт индексного файла
import bodyParser from 'body-parser';
app.use(bodyParser.json(extended: true }));
Комментарии:
1. Спасибо! Я работаю над этим уже два дня. Единственное, что я получаю в своем коде сообщение «синтаксический анализатор тела устарел». Вы случайно не знаете, почему это так?