MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Валидирайте обекта спрямо схемата на Mongoose, без да записвате като нов документ

Има един начин да направите това чрез Custom validators . Когато проверката е неуспешна, неуспешно записване на документа в 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.');
    });
}

Или друг начин да направите това чрез validate() със същата схема, както сте дефинирали.

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

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да сортирам масив в запис на колекция в MongoDB?

  2. OData - Странен индекс с MongoDB [Mongoose:Cast Error]

  3. как да зададете mongod --dbpath

  4. Може ли mongo да връща документи с празни/липсващи полета в края във възходящ ред?

  5. Mongo индекс за период от време с филтри