mongo3 升级后获取 DatabaseException 'not authorized for query on db.collection'(代码 = 13)

Getting DatabaseException 'not authorized for query on db.collection' (code = 13) after mongo3 upgrade

我使用免费的 MongoLab,我的数据库在周末升级到 Mongo 3,现在我的客户端无法连接。我一直收到 'not authorized for query on db.collection.' 错误。

Mongolab 说我应该使用 Mongo 3 兼容的驱动程序 (http://docs.mongodb.org/manual/release-notes/3.0-compatibility/#driver-compatibility-changes)。我正在使用 scala ReactiveMongo 客户端,版本 0.11.7,它应该支持 Mongo 3.

解决方案是在我的连接 URI 末尾添加“?authMode=scram-sha1&rm.tcpNoDelay=true”。现在看起来像

mongodb://user:password@host.mongolab.com:port/db?authMode=scram-sha1&rm.tcpNoDelay=true