modm

0.4.1 • Public • Published

MODM

Mongodb Object Document Mapper

Example

var modm = require("modm");

// define a schema
var schema = new modm.Schema({field: String});

// create db connection
var model = modm("myDb", {
    host: "127.0.0.1",
    port: 27017,
    server: {pooSize: 5},
    db: {w: 1}
});

// get a collection
var myCollection = model("myCollection", schema);

// db operations
myCollection.insert({data: 1}, function (err, item) {
   //...
});

// connect first, otherwise find will return undefined
// instead of a cursor.
model.connect(function (err, db) {
    var cursor = myCollection.find({/*query*/});
    cursor.toArray(function () {
        //...
    });
});

// ..or access the cursor in the callback
myCollection.find({/*query*/}, function (err, cursor) {
    cursor.toArray(function () {
        //...
    });
});

Info

Results of atomic operations are not validated.

Schema options

Name Example Description
type "string" Possible values: "Array", "Boolean", "Buffer", "Date", "Number", "Object", "ObjectID"
required true Possible values: true, false
default "this is a string default value" The default value. Can by any type of data.
validate function () {} Validate function
manipulate function () {} Manipulate function
pre "my prefix " A string to prefix the value
post " my suffix" A string to suffix the value
charStyle "normal" Possible values: "normal", "uppercase", "lowercase"
parse DD.MM.YYY For `date` types only. A string value passed if available to the Moment.js date parser.
trim true Boolean value. Trim or not?
maxLength 5 Max length. Integer.
minLength 1 Min length. Integer.
max 5 number
min -3 number
live true Boolean value: true or false. Not yet implemented

License

"THE BEER-WARE LICENSE" (Revision 42):

adrian@ottiker.com wrote this code. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i modm

    Weekly Downloads

    3

    Version

    0.4.1

    License

    THE BEER-WARE LICENSE

    Last publish

    Collaborators

    • adioo
    • ionicabizau
    • gabipetrovay