# mongoose-duplicate-error

> Custom error messages for the mongodb duplicate error

Latest version **1.0.0** (published 2017-03-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install mongoose-duplicate-error
pnpm add mongoose-duplicate-error
yarn add mongoose-duplicate-error
bun add mongoose-duplicate-error
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2017-03-28 |
| First published | 2017-03-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Ivan Kerin |
| Maintainers | ikerin |

## Links

- npm: https://www.npmjs.com/package/mongoose-duplicate-error
- Repository: https://github.com/enhancv/mongoose-duplicate-error
- Homepage: https://github.com/enhancv/mongoose-duplicate-error#readme
- Issues: https://github.com/enhancv/mongoose-duplicate-error/issues
- npm.io page: https://npm.io/package/mongoose-duplicate-error

## Dependencies (1)

- [lodash](https://npm.io/package/lodash.md) ^4.17.4

## Recent versions

- 1.0.0 (latest) — 2017-03-28

## README

Mongoose Duplicate Errors
=========================

Custom error messages for the mongodb duplicate error

Installation
------------

```bash
yarn add mongoose-duplicate-error
```

Usage
-----

Just add it to a model and it will prettify the unique errors by default, by transforming the
`E11000 duplicate key error collection...` error into a  `other must be unique` validation error.

```javascript
const Schema = require('mongoose').Schema;
const mongooseDuplicateError = require('mongoose-duplicate-error');

const CustomerSchema = new Schema({
    username: {
        type: String,
        unique: true,
    },
    email: {
        type: String,
        unique: true,
    },
});

CustomerSchema.plugin(mongooseDuplicateError);
```

It will also work for compound indexes, by generating an error for the first index in the group

```javascript
const Schema = require('mongoose').Schema;
const mongooseDuplicateError = require('mongoose-duplicate-error');

const CustomerSchema = new Schema({
    email: {
        required: true,
        type: String,
    },
    deleted: Boolean,
});

CustomerSchema.index({ email: 1, deleted: 1 }, { unique: true });
CustomerSchema.plugin(mongooseDuplicateError);
```

You can further custumize the error messages for any unique index. By providing a "path" and message template you can specify exactly which field will recieve an error, and with what text.

```javascript
const Schema = require('mongoose').Schema;
const mongooseDuplicateError = require('mongoose-duplicate-error');

const CustomerSchema = new Schema({
    email: {
        required: true,
        type: String,
    },
    deleted: Boolean,
});

CustomerSchema.index({ email: 1, deleted: 1 }, { unique: true });
CustomerSchema.plugin(mongooseDuplicateError, {
    indexes: {
        email_1_deleted_1: { path: 'email', message: 'The {PATH} must be unique ({VALUE})' },
    },
}});
```

---
_Source: https://npm.io/package/mongoose-duplicate-error · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
