无法在 Vercel 中部署的应用程序中使用 MongoDB

问题描述 投票:0回答:3

我有一个刚刚使用 Vercel 部署的 NestJS 应用程序。 使用 Node 16+、MongoDB 4.12.1、Mongoose 6.8.0

由于某种原因,我的所有请求都会在 10 秒后超时(这是 Vercel 免费套餐的最大值)。 经过我的调查,我没有发现未调用 MongoDB 的端点出现任何超时,因此我认为这就是问题所在。 当我在本地运行应用程序时,即使使用 vercel-admin-user 凭据,它也能发挥作用。

我为集成做了以下操作:

  1. 按照 Vercel 的指南将 MongoDB Atlas 与 Vercel 集成:link
  2. 在 MongoDB 集群中创建具有读写访问权限的 vercel-admin-user
  3. 允许对我的集群的所有网络访问(0.0.0.0 和确切的 Vercel IP 地址)
mongodb mongoose nestjs timeout vercel
3个回答
5
投票

确保:

  • 在环境变量中,你恰好有
    MONGODB_URI
  • 从您的结帐页面,您将数据发送到正确的网址(不使用本地主机)。
  • 在 Vercel 帐户的项目集成部分添加 MongoDB。https://vercel.com/dashboard/integrations

1
投票

转到 mongodb 帐户。然后进入数据库访问。在这里您将看到名为 vercel-admin-user 的新用户。然后编辑用户并为其设置新密码。然后转到您的项目源代码,更改 uri 中的 mongodb 通行证和用户。


0
投票

你找到解决办法了吗?我也有同样的问题。我唯一注意到的是,我重新加载页面 5/10 次,然后几分钟后,数据库再次工作,但如果我转到其他地方, 返回我的应用程序,假设 30 分钟后,它再次超时。在本地工作就像一个魅力

© www.soinside.com 2019 - 2024. All rights reserved.