添加猫鼬模式模型以表示错误500中的结果

时间:2018-08-05 17:33:36

标签: express mongoose

我有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");
    });
});

1 个答案:

答案 0 :(得分:1)

问题似乎是您正在重新定义const。在您的路线中,更改为const partyList = new PartyList(req.body);,然后将partyList用作变量