【发布时间】:2021-05-13 12:18:49
【问题描述】:
我目前正在学习 API。我在 RESTful MERN API 上使用 Dev Ed's video。我设置了我的路线,我可以成功连接到我的 MongoDB 数据库。但是,当尝试在数据库的帖子上调用 save() 时,我收到了错误消息,这是一个 JSON 对象,其中包含一条包含 err 的消息,但我的 err 对象完全为空。
posts.js:
const express = require('express');
const router = express.Router();
const Post = require('../models/Post');
router.get('/', (req, res) => {
res.send('We are on /posts!');
});
router.post('/', (req, res) => {
const post = new Post({
title: req.body.title,
desc: req.body.desc,
});
post.save()
.then(data => {
res.json(data);
})
.catch(err => {
res.json({ message: err });
});
});
module.exports = router;
app.js:
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
require('dotenv/config');
const app = express();
const PORT = 8080;
app.use(bodyParser.json());
// Import Routes ------------------------
const postsRoute = require('./routes/posts');
app.use('/posts', postsRoute);
// ROUTES --------------------------------
app.get('/', (req, res) => {
res.send('We are home!');
});
mongoose.connect(
process.env.DB_CONN,
{ useNewUrlParser: true },
() => {
console.log('Succesfully connected to DB!')
});
app.listen(PORT);
Post.js(架构):
const mongoose = require('mongoose');
const PostSchema = mongoose.Schema({
title: {
type: String,
required: true,
},
desc: {
type: String,
required: true,
},
date: {
type: Date,
default: Date.now,
}
});
module.exports = mongoose.model('Posts', PostSchema);
在我的代码中,我试图将new Post 发送到我的数据库,但我得到一个错误,一个空的。我要么需要弄清楚如何正确查看我的错误(所以它不是空的)或者更大的问题:为什么我的 POST 请求失败。
再次,我正在学习 API,这是我第一次编写 API。如果有什么我错过的(比如你需要的其他代码)或者我应该做些不同的事情,请告诉我!提前谢谢!
【问题讨论】:
标签: javascript mongodb express mongoose postman