mongoose保存错误

下面是我从一个网站复制的示例代码。 我试图将信息保存到mongodb。 我曾尝试类似的堆栈溢出,但仍然无法解决它。

当我运行它,并写入ID,名称和年龄保存方法失败,但不给出错误消息。 原因是什么? 在此先感谢您的帮助。

var express = require('express'); var http = require('http'); var path = require('path'); var mongoose = require('mongoose'); var bodyparser = require('body-parser'); var methodOverride = require('method-override'); var app = express(); // all environments app.set('port', process.env.PORT || 4000); app.set('views', __dirname + '/views'); app.set("view engine", 'jade'); app.use(bodyparser.json()); app.use(methodOverride()); //app.use(app.router); app.use(express.static(__dirname + '../public')); //app.use(express.static(path.join(__dirname, 'public'))); //app.get('/', function (req, res) { // res.render('index', {}); //}); app.get("/", function(req, res) { res.sendFile(path.join(__dirname, "/index.html")); }); mongoose.connect('mongodb://127.0.0.1/test'); mongoose.Promise = global.Promise; var Schema = new mongoose.Schema({ _id : String, name: String, age : Number }); var user = mongoose.model('emp', Schema); app.get('/view', function(req, res){ user.find({}, function(err, docs){ if(err) res.json(err); else res.render('index', {users: docs}); }); }); app.post('/new', function(req, res){ new user({ _id : req.body.email, name: req.body.name, age : req.body.age }).save(function(err){ if(err) res.json(err); else res.send('Successfully inserted!'); }); }); var server = http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 

如果将模式更改为:

 var Schema = new mongoose.Schema({ email: String, name: String, age: Number }); 

我也build议将模型从“emp”改为“user”。 或从“用户”到“emp”的所有variables。 一致性更高,可读性更高,将为您节省时间。 另外,它看起来像你错过了:顶部的require('jade')

您可以通过电子邮件查询来查找用户。 Mongo将在插入时自动生成一个_id。

我希望这是有帮助的!