🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

modm

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

modm

A MongoDB Object Document Mapper (ODM)

0.4.1
latest
74

Supply Chain Security

100

Vulnerability

99

Quality

80

Maintenance

100

License

Version published
Weekly downloads
8
14.29%
Maintainers
3
Weekly downloads
 
Created

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

NameExampleDescription
type"string"Possible values: "Array", "Boolean", "Buffer", "Date", "Number", "Object", "ObjectID"
requiredtruePossible values: true, false
default"this is a string default value"The default value. Can by any type of data.
validatefunction () {}Validate function
manipulatefunction () {}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"
parseDD.MM.YYYFor `date` types only. A string value passed if available to the Moment.js date parser.
trimtrueBoolean value. Trim or not?
maxLength5Max length. Integer.
minLength1Min length. Integer.
max5number
min-3number
livetrueBoolean 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.

FAQs

Package last updated on 21 Jan 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