2016-02-12 116 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