我正在遵循“流星”指南,并使用以下软件包设置了登录系统:useraccounts:bootstrap
useraccounts:flow-routing
accounts-ui@1.1.9
accounts-password@1.4.0
。当我使用meteor-now
命令部署应用程序进行测试时,我可以注册一个帐户并登录到我的应用程序中,但是一段时间不使用该应用程序尝试登录后,我得到了login forbidden
消息,看来我注册的帐户已不存在。我找不到发生这种情况的原因。我假设这与meteor-now
的部署有关,因为我的本地实例似乎没有这个问题。
答案 0 :(得分:1)
在本地主机上,当您开发应用程序时,您已连接到本地数据库。您可以在环境变量MONGO_URL
中设置数据库连接参数。
为什么您使用meteor-now
,然后部署了您的应用程序。这意味着代码od应用程序已编译并安装在Meteor云托管上。
代码已传输,但数据和配置号为有一些解决方案,您可以根据需要实现的目标来选择。
1)将本地实例连接到生产数据库。您应该在本地计算机上设置MONGO_URL。
教程
2)您应该创建固定装置。我的意思是在服务器启动并在数据库中创建用户(如果该用户不存在)时执行的命令。
对于您而言,我建议使用第二种方法。
有一个通过灯具创建用户的示例
安装Meteor之后,现在无需任何其他配置即可看到这些输出
链接上的段落
https://github.com/jkrup/meteor-now#user-content-full-deploy-with-mongodb
解释数据丢失的原因可能是什么。请进一步说明您的MONGO_URL设置。
您确定在拥有数据到丢失数据之间不进行部署吗?在这种体系结构中,任何代码更新都会删除您的数据库。
在我的屏幕截图中,存在与流星现在与现在v2不兼容有关的错误。
这与数据库无关,但可能与数据库无关。现在,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