在我的應用程式和 Postman 之間,我應該能夠進入 MongoDB,但我明白了。
TypeError: Cannot read property 'title' of undefined
這是app.js檔案
const express = require('express');
const app = express();
const Mongoose = require('mongoose');
require('dotenv/config')
const postsRoute = require('./routes/posts');
app.use('/posts', postsRoute)
app.use('/posts', () => {
console.log('This is a middleware.')
})
app.get('/', (req, res) => {
res.send('We are at home')
})
//Connect to DB
Mongoose.connect(process.env.DB_CONNECTION)
.then(() => {
console.log('connected to DB')
})
.catch(err => {
console.log(err);
});
app.listen(3000);
這是posts.js檔案
const express = require('express');
const router = express.Router();
const Post = require('../models/Post')
var fs = require('fs');
router.get('/', (req, res) => {
res.send('We are at posts')
})
router.post('/', (req, res) => {
const post = new Post({
title: req.body.title,
description: req.body.description
});
post.save()
.then(data => {
res.json(data);
})
.catch(err => {
res.json({message: err });
})
});
module.exports = router;
這個檔案是貓鼬架構
const { json } = require('body-parser');
const mongoose = require('mongoose');
const PostSchema = mongoose.Schema({
title: {
type: JSON,
required: true
},
description: {
type: JSON,
required: true
},
date: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model('Posts', PostSchema);
然后我試圖通過 Postman 的應用程式發布到 MongoDB 希望這張照片就足夠了。

該應用程式在埠 3000 上本地運行良好,我相信我正在連接到資料庫。好像是格式問題。我不知道模式是否需要以某種方式使用 JSON 或 Postman 的配置需要更改,但我已經嘗試了每個 Postman 設定并嘗試將模式更改為 JSON。我在貓鼬檔案中也有這樣的型別type: String
uj5u.com熱心網友回復:
將此添加到app.jsPOST 請求中...
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
將該中間件添加到您的路由之上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/322876.html
