MEANアプリケーションから始めて、データベースにデータを追加している間にimが立ち往生しました。ですから、この解決策を見つけるのを手伝ってください。ノードJS | TypeError:未定義の 'first_name'プロパティを読み取ることができません。
これは、ルート・ファイル、アプリケーションのエントリポイント
//Importing modules
var express=require('express');
var mongoose=require('mongoose');
var bodyparser=require('body-parser');
var cors=require('cors');
var path=require('path');
var app=express();
const route=require('./routes/route');
//Connect to mongoDb
mongoose.connect('mongodb://localhost:27017/contactlist');
//on connection
mongoose.connection.on('connected',()=>{
console.log("Successfully established a connection to mongodb Database ")
});
//on error
mongoose.connection.on('error',(err)=>{
if(err){
console.log("Failed to established a connection "+err);
}
});
const port=3000;
//For routing
app.use('/api',route);
//Adding middleware -cors
app.use(cors());
//body-parser
app.use(bodyparser.json());
//Static Files
app.use(express.static(path.join(__dirname,'public')));
//port no
app.get('/',(req,res)=>{
res.send('Foobar');
});
app.listen(port,()=>{
console.log("Server started listening to port "+port);
})
そして、この私のルートファイル、今
const express = require('express');
const router = express.Router();
// fetching the schema
const Contact = require('../Models/contacts');
//Retriving the contacts
router.get('/contacts', (req,res,next)=>{
Contact.find(function(err,contacts){
// Sending to client in json format
res.json(contacts);
});
});
// Adding Contacts
router.post('/contact', (req,res,next)=>{
let newContact = new Contact({
first_name : req.body.first_name,
last_name : req.body.last_name,
phone : req.body.phone
});
newContact.save((err,contact)=>{
if(err){
res.json({msg: "Failed to add contact."});
}else{
res.json({msg:"Contact added sucessfully"});
}
});
});
//Deleteing contact
router.delete('/contact/id',(req,res,next)=>{
Contact.remove({_id:req.params.id},function(err,result){
if(err){
res.json(err);
}else{
res.json(result);
}
})
});
module.exports=router;
ですが、私はモンゴ(DBにいくつかのレコードを追加しようとしていますDB)を使用していますが、 "TypeError:router.post(C:\ Mean App \ ContactList \ routes \ route.js:16:25)で未定義のプロパティ 'first_name'を読み取れません"というエラーが発生しています "
郵便配達員では、ヘッダーの場合、私は私は、このようなJSONデータを追加
{
"first_name" : "Siddhesh",
"last_name" : "Mishra",
"phone" : "9594106324"
}
そして、ここで私が
const mongoose=require('mongoose');
const ContactSchema = mongoose.Schema({
first_name:{
type:String,
required:true
},
last_name:{
type:String,
required:true
},
phone:{
type:String,
required:true
}
});
const Contact=module.exports=mongoose.model('Contact',ContactSchema);
スキーマ
を作成しています私のコードですよ、生体内で:「『アプリケーション/ JSONコンテンツタイプ』を使用してメートル
ありがとうございます。
ありがとう、兄弟!なぜそれが以前に働いていたのかを私に説明することができます。たとえば、先にURLに「localhost:3000/api/contact」と入力すると、以前は動作していました。なぜDBにデータを追加する間に実行されないのですか? –
たぶんあなたは本当にそれを知っている 'app.js' cantのjavascriptを並べ替えました::)私が指摘している見積もりをチェックすると、ミドルウェアを説明するシンプルなコードと注意しなければならないことがあります。 – Stamos
あなたに愚かな質問をして申し訳ありません、これに完全に新しい私はこれが期待されました。 –