尝试使用唯一索引保存mongoose文档时,节点服务器崩溃

我有一个集合,其中有一个领域作为一个独特的领域。

var ProductSchema = new mongoose.Schema({ code: {type:String, required:true}, name: {type:String, default:""} }); ProductSchema.index({ code: 1}, { unique: true }); 

当我用一个已经存在的代码创build一个新文档时,服务器崩溃而不是通过callback返回一个错误:

 module.exports.create = function (params, callback){ var product = new ProductModel(params); product.save(function(error){ console.log(error); callback(error); }); } 

这(崩溃)预期的行为或mongoose应通过callback返回一个错误,而不是崩溃?

这是我用相同的代码保存第二个文档时得到的错误:

 [..path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:245 throw message; ^ TypeError: Cannot read property '0' of undefined at [...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/core.js:114:55 at [...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1132:7 at [...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1846:9 at Server.Base._callHandler ([...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:445:41) at [...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:478:18 at MongoReply.parseBody ([...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5) at null.<anonymous> ([...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:436:20) at EventEmitter.emit (events.js:95:17) at null.<anonymous> ([...path]/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13) at EventEmitter.emit (events.js:98:17) 

http://mongoosejs.com/docs/api.html#model_Model-save

直接在产品的保存上放置一个error handling程序:

 ProductModel.on('error', function(){..});