Socket
Socket
Sign inDemoInstall

mongoose-hook-custom-id

Package Overview
Dependencies
1
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongoose-hook-custom-id

Mongoose plugin to use String _id and by default will generate 16-char base64 string representation of ObjectId.


Version published
Maintainers
1
Created

Readme

Source

mongoose-hook-custom-id

Mongoose plugin to use String _id and by default will generate 16-char base64 string representation of ObjectId.

Installation

git clone git@github.com:tarquas/mongoose-hook-custom-id.git mongoose-hook-custom-id

Package

{
  "mongoose-hook-custom-id": "0.1.4"
}

Usage

Example:

var
  mongoose = require('mongoose'),
  customId = require('mongoose-hook-custom-id'),
  PersonSchema;

PersonSchema = {
  name: String,
  email: String
};

PersonSchema.plugin(customId, {mongoose: mongoose}); // _id will look like 'VQvnBImPTGAoqeVY'
//PersonSchema.plugin(customId, {mongoose: mongoose,
  generator: function() {return Math.random();}}); // _id will look like '0.45921047893352807'
//PersonSchema.plugin(customId, {mongoose: mongoose,
  generatorAsync: function(callback) {callback(Math.random());}}); // same as above, but using async generator

mongoose.model('Person', PersonSchema);

Notes

  • This plugin must be provided with an exact instance of mongoose, where the processing models expected to be processed, in opts parameter.

  • This plugin forces _id field on Schema to be of type String. New documents will get it generated, if it wasn't specified.

  • By default (if no specific generator option is provided to plugin), plugin will generate URI-compatible base64-representation of generated ObjectId, which is 16 characters long.

  • If generator option is specified, it's a function, taking no arguments and returning String result, which will be called every time the new _id needs to be generated.

  • If generatorAsync option is specified, it's a function, taking a callback argument, which accepts String parameter. Async generator will be called every time the new _id needs to be generated.

Keywords

FAQs

Last updated on 12 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc