wadofgum-mongodb

1.2.2 • Public • Published

wadofgum-mongodb

build status Current Version dependency Status devDependency Status Coveralls A mongodb mixin for wadofgum

Usage

After extending your model with this mixin, instances of your class will have various wrapped mongodb crud methods.

An example of how to use is shown below

const Wadofgum = require('wadofgum');
const Validation = require('wadofgum-json-schema');
const MongoDB = require('wadofgum-mongodb');
 
class Model extends Wadofgum.mixin(Validation, MongoDB) {};
Model.schema = {
    metaSchema: {
        description: 'Person record schema',
        type: 'record',
        base: 'entity',
        jsonSchema: 'v4',
        name: 'person',
        version: 1
    },
    schema: {
        type: 'object',
        properties: {
            name: {
                type: 'string'
            },
            age: {
                type: 'integer'
            },
            dateOfBirth: {
                type: 'string',
                format: 'date'
            }
        }
    }
};
 
Model.db = db //mongodb database handle created by MongoClient method
Model.validator = validator // z-schema handle created by z-schema constructor object
 
let model = new Model({ name: 'test', age: '45', dateOfBirth: '1975-10-01'});
model.save((err, result) => {
    err // null
    model.name // 'test'
    model.age // '45'
    model.dateOfBirth // '1975-10-01'
});

TODO

  • Implement a better interface for custom _id
  • Static methods on class object must only do crud based on the model type so parameters passed to mongo must be restricted
  • Parse queries from mongo better
  • Implement methods on models

Readme

Keywords

Package Sidebar

Install

npm i wadofgum-mongodb

Weekly Downloads

1

Version

1.2.2

License

BSD-3-Clause

Last publish

Collaborators

  • simon-p-r