带有 Elastic Beanstalk 自动缩放功能的 mongoengine 和 mLab

mongoengine & mLab with Elastic Beanstalk autoscaling

我在 Elastic Beanstalk (Flask) 应用程序上使用通过 mLab 托管的 MongoDB 数据库,通过 mongoengine 连接。

我是这样连接的:

mongoengine.connect(db='my-database', host ='mongodb:/user:password@xxx.mlab.com')

然而,Elastic Beanstalk 第一次自动缩放我的应用程序时,我开始收到以下错误消息:

OperationFailure: Another user is already authenticated to this database. 
You must logout first.

我认为发生这种情况是因为同一个用户在应用程序自动缩放时多次尝试对同一个数据库进行身份验证?如果是这样,解决方案是什么?我应该使用其他方式连接到数据库吗?

我不知道为什么会这样,但我发现在 mongoengine 的幕后从 pymongo==3.7.0 降级到 pymongo==3.6.1 解决了我的问题