Mongoose draft plugin to disable the model validation
Install via npm:
$ npm install mongoose-draft
-
isDraft
set the initial value (optional, defaulttrue
) -
fieldName
set fieldName value, use it only is you're already using the default value somewhere else (optional, default_is_draft
)
Set the value of isDraft
Get/Set the value of isDraft
var mongoose = require('mongoose');
var draft = require('mongoose-draft');
var TestSchema = new mongoose.Schema({
'label_1': {
'type': String,
'required': true,
},
'label_2': {
'type': String,
'required': false,
},
});
TestSchema.plugin(draft, { isDraft: true });
var TestDraft = mongoose.model('Test_draft', TestSchema);
var doc = new TestDraft()
doc.validate(); // -> return a promise fulfilled without any validation errors
doc.isDraft = false;
doc.validate(); // -> return a promise fulfilled with validation errors
doc.setIsDraft(true);
doc.save(); // -> return a promise fulfilled with doc
doc.setIsDraft(false);
doc.save(); // -> return a promise fulfilled with validation errors
This project is a work in progress and subject to API changes, please feel free to contribute