sql >> Database teknologi >  >> NoSQL >> MongoDB

Valider objekt mod Mongoose-skema uden at gemme som et nyt dokument

Der er én måde at gøre det på gennem Custom validators . Da valideringen mislykkedes, kunne dokumentet ikke gemmes i DB.

var peopleSchema = new mongoose.Schema({
        name: String,
        age: Number
    });
var People = mongoose.model('People', peopleSchema);

peopleSchema.path('name').validate(function(n) {
    return !!n && n.length >= 3 && n.length < 25;
}, 'Invalid Name');

function savePeople() {
    var p = new People({
        name: 'you',
        age: 3
    });

    p.save(function(err){
        if (err) {
             console.log(err);           
         }
        else
            console.log('save people successfully.');
    });
}

Eller en anden måde at gøre det på gennem validate() med samme skema som du definerede.

var p = new People({
    name: 'you',
    age: 3
});

p.validate(function(err) {
    if (err)
        console.log(err);
    else
        console.log('pass validate');
});


  1. MongoDB indlejret matrixforespørgsel

  2. MongoDB BasicDBObject vs Document i java

  3. hvordan man udfører mongo admin kommando fra java

  4. MongoDB som udbyder af statiske filer?