Document validation has been introduced to MongoDb since version 3.2 . Before that, we could only define schema on application level.
Feature | Mongoose | Mould.js |
---|---|---|
Schema Level | Application | Database |
Features | Full | Minimal |
Attention:
mongodb
version >= 3.2 required
- Installation
npm install mouldjs --save
- Define Schema
let Mould = require('mouldjs')
let User = new Mould({
name : {$type: 'string', $exists: true},
age : {$type: 'int', $lt: 200},
email : {$regex: \"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"\}
sex : {$in: ['male','female','unknown']}
});
check full schema lists.
- Apply To Db
//with promise
User.applyTo(db, collection)
.then(...)
.catch(...);
Check the examples folder
Types: https://docs.mongodb.org/v3.2/reference/operator/query/type/#document-type-available-types
Validator: https://docs.mongodb.org/v3.2/core/document-validation/
TODO
- add validator