2016-02-12 2 views
1

Вот как я проверки и сохранения моего пользователя:Mongoose подтверждения и сохранения кода

var user = new User({ /** from body **/ }); 

user.validate((err) => { 
     if (err) { 
      console.log(err); 
      res.json({ success: false, message: 'Invalid input' }); 
     } 
     else { 
      user.save((err) => { 
       if (err) { throw err; } 
       console.log(err); 
       res.json({ success: true }); 
      }); 
     } 
    }); 

Есть ли лучший способ подтверждения и сохранения с мангуста с меньшими линиями кода или без if/else?

ответ

1

Вы также можете добавить свои проверки в свою схему. Я порекомендую этот путь, потому что вы сможете делать пользовательские проверки в зависимости от поля.

http://mongoosejs.com/docs/validation.html

Тогда вам нужно только, чтобы сохранить пользователя и проверьте наличие ошибок внутри сохранения метода обратного вызова.

+0

Остерегайтесь, будьте осторожны: если вы злоупотребляете удобной опорой ['collection'] (http://mongoosejs.com/docs/api.html#model_Model-collection) на заданной [' Model'] (http: // mongoosejs.com/docs/models.html) и слепо называет 'MyModel.collection.insert (documentOrPlainJSON)', проверки, данные в '' MyModel''' **, не будут выполняться **. Нужно использовать 'MyModel.create (реквизиты)' или 'new MyModel (реквизиты) .save()' – Dr1Ku

Смежные вопросы