在 MEAN Stack 中为登录和注册创建后端路由和用户模型2025年3月17日 | 阅读 3 分钟 我们之前的章节成功设计了登录和注册页面,但我们没有为它们实现后端。因此,在本节中,我们将实现后端来创建用户或让用户登录。以下是我们创建后端将使用的步骤。 1) 在路由文件夹中,我们有用于帖子的 js 文件。因此,我们将为我们的用户创建另一个 javascript 文件,并将其命名为 user.js。 ![]() 2) 我们将导入我们的 express 并创建路由器,就像我们在 posts.js 文件中实现的那样。创建路由器后,我们还将在代码的最底部导出它,就像这样 ![]() 3) 现在,我们将注册路由,并且我们现在想要有两个路由,或者更准确地说是两个 post 路由。我们的第一个 post 路由将处理所有发送到 api/user/signup 的请求。 ![]() 在我们的 post 路由中,我们只传递了 "/signup,",为了确保我们在它前面有 api/user,我们将转到 app.js 文件,我们在其中导入了我们的帖子路由,并像这样实现我们的用户路由 ![]() 4) 我们将转到 user.js 文件的底部,在那里我们设置了我们的 postsroutes 并将目标为 /api/posts/something 的请求转发到帖子路由。对于目标为 api/user/something 的请求,我们将做同样的事情,我们将把它们转发到 userRoutes ![]() 因此,任何路径以 /api/user 开头的请求都将进入我们的 user.js 文件,并且在此之后,任何具有 /signup 的请求都将到达此路由。 5)b 在 user.js 文件的 post 路由中,我们将拥有众所周知的带有请求、响应和 next 的函数,我们可以在其中处理传入的请求。 ![]() 6) 在此函数中,我们想创建一个新用户并将其存储在数据库中。为此,我们需要一个新的 mongoose 模型,因为我们现在有了新类型的数据。因此,在 models 文件夹中,我们将创建一个新的 javascript 文件并将其命名为 user.js。 ![]() 7) 在此文件中,我们将导入我们的 mongoose 并为其创建一个新的模式。我们将创建一个模式名称 userSchema。在我们的模式中,我们将有一个类型为字符串的电子邮件和一个密码,它也是一个字符串类型。在代码的底部,我们将导出我们的 mongoose 模型,以便我们可以使用它。 ![]() 在上面的代码中,我们使用了 unique。它不充当验证器,这意味着如果我们尝试添加一个已经存在的电子邮件地址的新条目,它不会自动抛出错误。它最终会导致问题,但是当我们尝试保存数据时,我们不能依赖它来验证数据。Unique 允许 mongoose 和 mongodb 从性能角度进行一些内部优化。与 required 不同,它不是用来验证输入的,如果未提供电子邮件,则会抛出错误。 8) 现在,我们要确保我们不会保存用户数据或具有相同用户 ID 的用户两次。为此,有一个第三方软件包,即 mongoose-unique-validator,它将为我们添加此验证逻辑。我们将运行以下命令来安装此软件包 ![]() 9) 虽然我们不会自动添加它;我们必须将它连接到我们想要验证的模式。为此,我们需要导入 mongoose-unique-validator 软件包,然后我们将像这样将其用作插件 ![]() 我们的 mongoose 模型是为我们的用户设计的,现在每当我们收到发送到我们新路由的请求时,我们将保存我们的用户。我们将在下一节中这样做。 下一主题根据请求创建用户 |
我们请求您订阅我们的新闻通讯以获取最新更新。