├── .gitignore ├── README.md ├── package.json └── src └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [mongo](https://docs.mongodb.com/ecosystem/drivers/node-js/)-error-parser 2 | 3 | > Mongodb error message parser. 4 | 5 | This is a simple helper package allows for parsing MongoDB error messages. Use this package to get detailed data from the error message (e.g. `index name` for code `11000`). 6 | 7 | ## Install 8 | 9 | ``` 10 | $ npm install mongo-error-parser 11 | ``` 12 | 13 | ## Example 14 | 15 | ```js 16 | const parse = require('mongo-error-parser'); 17 | 18 | try { 19 | // mongo code here which throws e.g. unique index error 20 | } catch (e) { 21 | parse(e); // -> {name:, message:, code:, index:} 22 | } 23 | ``` 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongo-error-parser", 3 | "version": "0.1.1", 4 | "description": "MongoError message parser", 5 | "main": "src/index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/xpepermint/mongo-error-parser.git" 12 | }, 13 | "keywords": ["mongo", "mongodb", "error", "errors", "parser", "11000", "unique"], 14 | "author": "Xpepermint (Kristijan Sedlak)", 15 | "license": "MIT", 16 | "bugs": { 17 | "url": "https://github.com/xpepermint/mongo-error-parser/issues" 18 | }, 19 | "homepage": "https://github.com/xpepermint/mongo-error-parser#readme" 20 | } 21 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function(err) { 2 | var data = { 3 | name: err.name, 4 | message: err.message, 5 | code: err.code 6 | }; 7 | 8 | switch (err.code) { 9 | case 11000: 10 | data.index = err.message.split('$', 2)[1].split(' ', 2)[0]; 11 | data.message = 'duplicate key error'; 12 | break; 13 | } 14 | 15 | return data; 16 | }; 17 | --------------------------------------------------------------------------------