ReferenceError:数字未在 MEAN 中定义

Bri*_*ani 2 node.js express mean-stack meanjs

我正在MEAN中创建 CRUD 操作,我已创建 dataScehema.js文件来定义模型

var mongoose = require('mongoose');

var countrySchema = mongoose.Schema({
      name: { type: number },
      country: { type: number }    
});


module.exports = mongoose.model('country', countrySchema);
Run Code Online (Sandbox Code Playgroud)

并在我的index.js中定义node js服务器代码

var http = require('http');
var express = require('express');
var port = process.env.PORT || 8080;
var app = express();
var appRoutes = require('./routes/appRoute'); 
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var model = require('./model/dataSchema');

mongoose.connect('mongodb://localhost/meanDb')

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/',appRoutes);
http.createServer(app).listen(port);

console.log('Backend is running on port:',port);
Run Code Online (Sandbox Code Playgroud)

我将为路由appRoute.js创建第三个文件,

var express = require('express');
var router = express.Router();
var Country = require('../model/dataSchema');

router.post('/create', (req, res, next) => {
   var newCountry = new Country({
       name: req.body.name,
       capital: req.body.capital
   });
   newCountry.save((err, country) => {
      if (err)
          res.status(500).json({ msg: err });
          res.status(200).json({msg: country});
    })

});
Run Code Online (Sandbox Code Playgroud)

所以任何人请帮助我。

Saj*_*ran 5

您的架构类型应该是 Number 而不是 number

var countrySchema = mongoose.Schema({
      name: { type: Number },
      country: { type: Number }    
});
Run Code Online (Sandbox Code Playgroud)