Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

mongoose-nanoid

1.0.4 • Public • Published

mongoose-nanoid

Custom Id plugin for Mongoose using nanoid

Installation

npm install --save mongoose-nanoid

Usage

const mongoose = require('mongoose');
mongoose.plugin(require('mongoose-nanoid'), size) // custom size. see nanoid for more details
 
// or opt out for schemas
const plugin = ;
var UserSchema = new Schema({
    username: String
});
UserSchema.plugin(require('mongoose-nanoid')); // default size = 12
const User = mongoose.model('User', UserSchema);

For references, use type: String

var ImageSchema = new Schema({
    user: {
      type: String,
      ref: 'User'
    },
    name: String
});

Now the _id will be generated using nanoid.

const user = new User({username: 'Prince'});
user.save(function (err) {
    console.log(user._id); // Should be generated by nanoid(size)
});

Issues

There is a possibility of duplication of id with small size, but this library makes sure that _id stays unique by first validating and then inserting.

References

nanoid : https://github.com/ai/nanoid

Install

npm i mongoose-nanoid

DownloadsWeekly Downloads

32

Version

1.0.4

License

MIT

Unpacked Size

8.2 kB

Total Files

6

Last publish

Collaborators

  • avatar