How to catch the error when inserting a MongoDB document which violates an unique index?

后端 未结 3 463
庸人自扰
庸人自扰 2020-12-16 14:19

I\'m building a MEAN app.

This is my Username schema, the username should be unique.

var mongoose = require(\'mongoose\');
var Schema = mongoose.Sche         


        
3条回答
  •  清酒与你
    2020-12-16 14:28

    You can also try out this nice package mongoose-unique-validator which makes error handling much easier, since you will get a Mongoose validation error when you attempt to violate a unique constraint, rather than an E11000 error from MongoDB:

    var mongoose = require('mongoose');
    var uniqueValidator = require('mongoose-unique-validator');
    
    // Define your schema as normal.
    var userSchema = mongoose.Schema({
        username: { type: String, required: true, unique: true }
    });
    
    // You can pass through a custom error message as part of the optional options argument:
    userSchema.plugin(uniqueValidator, { message: '{PATH} already exists!' });
    

提交回复
热议问题