我有react app,它通过axios将数据存储到猫鼬服务器。在我想为不同的数据添加额外的架构之前,它工作得非常完美。我的架构模型是分开的,因此我想只添加一个名为 PartyList.js 的模型。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// Define collection and schema for Items
var PartyList = new Schema({
name: {
type: String
},
song_id: {
type: String
},
port: {
type: Number
}
},{
collection: 'party'
});
module.exports = mongoose.model('PartyList', PartyList);
这是我app.js中的代码。
const config = require('./database/DB');
const ServerPortRouter = require('./routes/ServerPortRoutes');
mongoose.connect(config.DB).then(
() => {console.log('Database is connected') },
err => { console.log('Can not connect to the database' +err)
});
app.use('/serverport', ServerPortRouter);
这是我导入并尝试运行它的方式(称为ServerPortRoutes.js)。运行使用此路由的应用程序的一部分后,我得到50 0(内部服务器错误)。我的服务器告诉我 ReferenceError:未定义PartyList ,它在上面3行中定义。
const ServerPort = require('../models/ServerPort');
const PartyList = require('../models/PartyList');
ServerPortRouter.route('/add-party').post(function (req, res) {
const PartyList = new PartyList(req.body);
PartyList.save()
.then(PartyList => {
res.json('Server added successfully');
})
.catch(err => {
res.status(500).send("unable to save to database");
});
});
答案 0 :(得分:1)
问题似乎是您正在重新定义const。在您的路线中,更改为const partyList = new PartyList(req.body);
,然后将partyList
用作变量