Node.js MongoDB中现有记录的验证和更新-更好的方法

Node.js MongoDB中现有记录的验证和更新-更好的方法,node.js,mongodb,express,mongoose,express-validator,Node.js,Mongodb,Express,Mongoose,Express Validator,我正在使用Node、Express和MongoDB Mongoose(新手警报:)编写RESTAPI。集合中有单独的创建和更新文档的路径。我使用ExpressValidator来验证请求主体。这在创建和保存新记录时起作用。在更新现有文档时,我只想验证更改的属性,然后更新它。我可以用更改和未更改的值填充请求对象,重新运行验证(从创建重用)并更新记录。但是,我想知道是否有更好的方法?服务器只能知道更新请求中的某些字段是否更改如果它提取保存的文档并将其与请求正文中的给定文档进行比较,这将意味着向路由添

我正在使用Node、Express和MongoDB Mongoose(新手警报:)编写RESTAPI。集合中有单独的创建和更新文档的路径。我使用ExpressValidator来验证请求主体。这在创建和保存新记录时起作用。在更新现有文档时,我只想验证更改的属性,然后更新它。我可以用更改和未更改的值填充请求对象,重新运行验证(从创建重用)并更新记录。但是,我想知道是否有更好的方法?

服务器只能知道更新请求中的某些字段是否更改如果它提取保存的文档并将其与请求正文中的给定文档进行比较,这将意味着向路由添加额外的查询,我认为这是不必要的(如果这是获取保存文档的唯一原因)。我建议您发送更新查询,即使字段没有更改(它仍然与以前的值相同),MongoDB不会费心更新这些字段,如果更新了,也不会以任何方式影响您的应用。@OTZ感谢您的回复。这是我第一次编写REST API,以确保实现最佳实践。我还想了解更多有关管理用户登录会话、在db中存储、刷新令牌等的信息。但可能我应该先尝试一下我想这就是我所知道的。无论如何,谢谢你的回答。是的,确保“最好”是很重要的实践是最重要的,尤其是当您不是唯一一个从事该项目的人时。最佳实践有多种形式,但是,这是一个您可以随时作为指南参考的存储库:。对于用户会话、数据库逻辑和其他与REST API相关的概念,有大量的资源来解释这些概念,但是,如果您面临tro与他们中的任何一个交流,你都可以在这里写一个问题,我们会尽力帮助你。@OTZ你分享的指南链接是一座金矿。再次感谢你。