2016-02-12 75 views
1

這就是我如何驗證和保存我的用戶:貓鼬驗證和保存代碼

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

當心,當心:如果一個誤用在給定的['Model'](HTTP手持丙['collection'](http://mongoosejs.com/docs/api.html#model_Model-collection):// mongoosejs.com/docs/models.html)和盲目調用'MyModel.collection.insert(documentOrPlainJSON)''中MyModel'的'schema'給出的驗證**將不會運行**。應該使用'MyModel.create(道具)'或'新的MyModel(道具).save()' – Dr1Ku