New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

mongoose-schema-registry

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongoose-schema-registry

Creates a schema registry that can be used to store and retrieve mongoose schemas.

latest
npmnpm
Version
0.0.14
Version published
Maintainers
1
Created
Source

mongoose-schema-registry

The Mongoose Schema Registry allows developers to register schemas without creating a mongoose model. This allows extension of schemas later on prior to registering those models.

The following quick example should help you get started (taken from the ghiraldi framework mvc.js file):

    File1.js
    // First, declare the registry object.
    var registry = require('mongoose-schema-registry'),

    // The registry fires events when schemas are added.
    registry.on('add', function(tag, schema) {
        // tag contains the name you gave the schema when you added it.
        // schema is the actual schema added.
    });
    
    // Add a schema to the registry using the add method
    registry.add('schema_name', schema);

You can modify an existing schema by calling the getSchema method. Since the registry is a singleton, requiring will give you the same object with the already registered schemas.

    // File2.js
    var registry = require('mongoose-schema-registry');
    
    var testSchema = registry.getSchema('testSchema');
    // From here, you can add things to your test schema.
    ..
    // When you're done, just re-add the schema.  The new one will clobber 
    // the old one.
    registry.add('testSchema', testSchema);

To finally register the schemas into mongoose models, just iterate through the schemas and call the mongoose.model method.

    var keys = registry.getKeys();
    _.each(keys, function(key, index, list) {
        var thisSchema = registry.getSchema(key);
        mongoose.model(key,  thisSchema);
    });

FAQs

Package last updated on 30 Jun 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