0

我正在遵循 Meteor 指南,并使用以下软件包设置了登录系统:useraccounts:bootstrap useraccounts:flow-routing accounts-ui@1.1.9 accounts-password@1.4.0. 当我使用命令部署我的应用程序进行测试时,meteor-now我能够注册一个帐户并登录到我的应用程序,但是在一段时间不使用该应用程序尝试重新登录后,我收到了login forbidden消息,似乎我注册的帐户没有不再存在。我找不到发生这种情况的原因。我假设它与部署有关,meteor-now因为我的本地实例上似乎没有这个问题。

4

1 回答 1

1

在 localhost 上,当您开发应用程序时,您将连接到本地数据库。您可以在环境变量中设置数据库连接参数MONGO_URL

乳清你使用meteor-now然后你的应用程序被部署。这意味着代码 od 应用程序已编译并安装在 Meteor 云托管上。

https://www.meteor-now.com/

代码已传输,但数据和配置没有。有一些解决方案,您可以根据您想要实现的目标选择一个。

1) 将本地实例连接到生产数据库。您应该在本地机器上设置 MONGO_URL。

教程

如何将 mongodb 客户端连接到本地 Meteor MongoDB

如何在 Meteor 项目中使用现有的 MongoDB?

2)您应该创建固定装置。我的意思是当服务器启动并在数据库中创建用户时执行的命令(如果他不存在)。

在你的情况下,我会推荐第二种方法。

有一个通过fixtures创建用户的例子

在具有特定 ID 的装置​​中创建流星用户?

更新 1

安装 Meteor 现在我看到这些输出没有任何额外的配置

在此处输入图像描述

链接上的段落

https://github.com/jkrup/meteor-now#user-content-full-deploy-with-mongodb

解释了数据丢失的可能原因。请详细说明您的 MONGO_URL 设置。

您确定在您拥有数据和丢失数据之间不会进行部署吗?在这种架构中,任何代码更新都会删除您的数据库。

更新 2

在我的屏幕截图中,存在与 meteor-now 与 now v2 不兼容有关的错误。

https://github.com/jkrup/meteor-now/issues/133

这没有与数据库连接,但可能部分连接。现在,v1 是 Docker 镜像的服务,v2 是 lambda 表达式的服务。降级后

npm install -g now@1

错误消失了,但我无法完成部署它需要太多时间。下面是与 Mongo DB Atlas 的数据库连接的示例。

meteor-now -e MONGO_URL=mongodb+srv://<USER>:<PASSWORD>@<SUBDOMAIN>.mongodb.net/test?retryWrites=true
于 2019-01-25T15:14:46.347 回答