mongoose-schema-registry

0.0.14 • Public • Published

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);
    });

Readme

Keywords

none

Package Sidebar

Install

npm i mongoose-schema-registry

Weekly Downloads

0

Version

0.0.14

License

none

Last publish

Collaborators

  • sax1johno