我很努力讓節點保存發佈到MongoDB的請求,我沒有收到任何錯誤,但沒有任何數據被存儲在數據庫中。節點Mongoose不保存發佈請求
modules.js
var mongoose = require ('mongoose'),
Schema = mongoose.Schema,
modulesSchema = new Schema (
{
ModuleID: Number,
ModuleName: String,
ModuleLeader: String
}, { _id: false }
);
module.exports = mongoose.model ('Module', modulesSchema);
server.js
var express = require ('express'),
app = express(),
bodyParser = require ('body-parser'),
jwt = require ('jsonwebtoken'),
mongoose = require ('mongoose'),
mongoUri = 'mongodb://feedbacker:[email protected]:11472/feedbacker';
secretKey = 'f33db3ck4r';
// database in the cloud
mongoose.connect (
mongoUri, function (error)
{
if (error)
{
console.error ('Mongoose Error! Error: ', error);
}
}
);
// bodyparser to read and post json data
app.use (bodyParser.urlencoded ({ extended: true }));
app.use (bodyParser.json());
// load models
var User = require ('./models/user'),
Student = require ('./models/student'),
Module = require ('./models/modules');
router.route('/module').post(function(req, res) {
var module = new Module();
module.ModuleID = req.body.moduleID;
module.ModuleName = req.body.moduleName;
module.ModuleLeader = req.body.moduleLeader;
module.save(function(err) {
if (err)
return res.send(err);
res.json({ message: 'Module Created!' });
});
});
// register router
app.use ('/api', router);
我剪下server.js的塊存儲爲大部分是中間件等航線事情不影響本。
我已經使用Postman來測試這個,我沒有得到res.json消息。 但是,如果我改變路由太:
router.route('/module').post(function(req, res) {
var module = new Module();
module.ModuleID = req.body.moduleID;
module.ModuleName = req.body.moduleName;
module.ModuleLeader = req.body.moduleLeader;
module.save(function(err) {
if (err)
res.json({ message: 'Module Created!' });
});
});
這是去掉下面一行:「模塊創建」
return res.send(err);
這確實會發送一個響應...所以這種情況發生的原因是什麼?因爲我在任何地方都沒有錯誤,也沒有任何東西被存儲。是的,我的數據庫的詳細信息設置正確
任何幫助apprecaited。