Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 验证控制器中的用户输入并使用mongoose模式验证器_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 验证控制器中的用户输入并使用mongoose模式验证器

Node.js 验证控制器中的用户输入并使用mongoose模式验证器,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我是express和mongoose的新手,我正在尝试理解如何处理数据验证 我已经将代码划分为控制器、服务和dao(模型)层 在php中,我习惯于在控制器层进行验证。如果验证失败,我可以传回4xx响应 我很想在我的express控制器中这样做,但是在阅读了mongoose验证器之后,我现在不确定了。在mongoose模式上有验证器似乎是一种通用模式。据我所知,这只包括更新和创建新记录。此架构验证不包括像find()这样的方法 那么,验证控制器中的用户数据也是一种常见的模式吗?如果是这样的话,在某

我是express和mongoose的新手,我正在尝试理解如何处理数据验证

我已经将代码划分为控制器、服务和dao(模型)层

在php中,我习惯于在控制器层进行验证。如果验证失败,我可以传回4xx响应

我很想在我的express控制器中这样做,但是在阅读了mongoose验证器之后,我现在不确定了。在mongoose模式上有验证器似乎是一种通用模式。据我所知,这只包括更新和创建新记录。此架构验证不包括像find()这样的方法


那么,验证控制器中的用户数据也是一种常见的模式吗?如果是这样的话,在某些情况下(客户端、控制器、数据库),我不会验证输入3次吗?

well mongoose验证器可以通过验证那里的数据并在您的express(假设您正在使用express)路由中抛出错误来为您完成大部分“脏活”

但一般来说,如果您有一个可以当场验证的模式,为什么不使用它呢。在您的代码库中,您将在模式中有一个位置来处理工作,而不是将它埋在控制器的某个地方

我希望这有点帮助:)