node.js - 数据验证放到schema中还是还是controller中

【字号: 日期:2022-09-28浏览:10作者:雯心

问题描述

拿注册接口来说。

之前写代码的时候是吧各种验证(为空,email格式验证等)放到controller里面,但是最近在读一些代码的时候,发现大多数都是使用mongoose的validator,直接在schema里面做验证。

我想问下,这两种方式哪个来说更好一些?

谢谢。

问题解答

回答1:

mongoose的validator源自MongoDB 3.2+的validation特性

请参看官方文档:

https://docs.mongodb.com/mast...

MongoDB通过valiation提供了类似于关系型数据库的Constraint的功能。

这里提供一些前后文,供您参考,并结合实际的情况选择。

整体来说,MongoDB逐渐推出很多新的特性,这些新的特性一方面完善了功能,另一方面给开发者更多的帮助。

例如在这个月新拿到的3.4版本中,MongoDB提供了图运算graph processing,提供了类似于Neo4J的功能;MongoDB提供了导航查询faceted navigation,更好的支持维度查询;还完善了decimal数据模型,保存价格等金额类数据更方便了。

MongoDB有很多新的特性值得开发者关注,可以参考下面的新版本的功能更新的文档:

3.4新的特性https://docs.mongodb.com/mast...

3.2新的特性https://docs.mongodb.com/mast...

Love MongoDB! Have Fun!

相关文章: