Node.js 如何从mongoose捕获mongodb错误?
当mongoose中存在违反{unique:true}模式定义的情况时,MongoDB而不是mongoose会出现E11000错误 当我使用schema.save(err)时,mongoose不会捕获此错误 你知道如何从node.js获取它吗 以下是代码摘录:Node.js 如何从mongoose捕获mongodb错误?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,当mongoose中存在违反{unique:true}模式定义的情况时,MongoDB而不是mongoose会出现E11000错误 当我使用schema.save(err)时,mongoose不会捕获此错误 你知道如何从node.js获取它吗 以下是代码摘录: var Plan = new Schema({ slug: {type : String, default : '', trim : true, unique: true, required: true}, title: {typ
var Plan = new Schema({
slug: {type : String, default : '', trim : true, unique: true, required: true},
title: {type : String, default : '', trim : true},
body: {type : String, default : '', trim : true},
createdAt : {type : Date, default : Date.now}
})
....
// create new test records
var planArray = [
{slug: 'test', title: 'A', body: 'Lorem ipsum'},
{slug: 'test', title: 'B', body: 'Lorem ipsum'},
{slug: 'another_test', title: 'C', body: 'Lorem ipsum'}
]
var arrayLength = planArray.length;
for (var i = 0; i < arrayLength; i++) {
var p = new Plan(planArray[i])
p.save(function(err, saved){
if (err)
{console.log("error creating fixture " + err)}
})
}
var计划=新模式({
slug:{type:String,默认值:“”,trim:true,unique:true,required:true},
标题:{type:String,默认值:“”,trim:true},
正文:{type:String,默认值:“”,trim:true},
createdAt:{type:Date,默认值:Date.now}
})
....
//创建新的测试记录
变量平面阵列=[
{slug:'test',title:'A',body:'Lorem ipsum'},
{slug:'test',title:'B',body:'Lorem ipsum'},
{slug:'另一个测试',标题:'C',正文:'Lorem ipsum'}
]
var arrayLength=平面阵列.length;
对于(变量i=0;i
任何代码都是有用的……请参阅代码摘录。代码看起来很正确。带有重复的slug
的文档是否仍添加到集合中?是的,但在mongod控制台上,我收到E11000错误,但无法通过mongoose捕获。这些错误也会传递到您的save
回调。