我正在尝试使用Fantom v1.0.67 脚本连接到托管在MongoLab中的远程 MongoDB v3.0.8。我正在使用的驱动程序是afMongo v1.0.4。连接线是:
mongoClient := MongoClient(
ActorPool(),
`mongodb://mydbuser:mydbpassword@ds0#####.mongolab.com:#####/mymongodb`
)
请注意,占位符 mydbuser、mydbpassword 和 ##### 将替换为正确的值。当我从 shell 运行以下命令时,连接成功:
mongo ds0#####.mongolab.com:#####/mymongodb -u mydbuser -p mydbpassword
但是从 Fantom 脚本中,我得到了这个错误:
afMongo::MongoCmdErr: Command 'authenticate' failed. MongoDB says: auth failed
afMongo::Operation.runCommand (Operation.fan:36)
afMongo::Operation.runCommand (Operation.fan)
afMongo::Connection$.authenticate (Connection.fan:34)
afMongo::TcpConnection.authenticate (Connection.fan:51)
afMongo::ConnectionManagerPooled.checkOut (ConnectionManagerPooled.fan:458)
afMongo::ConnectionManagerPooled.leaseConnection (ConnectionManagerPooled.fan:320)
afMongo::Cmd.run (Cmd.fan:71)
afMongo::Database.runCmd (Database.fan:36)
afMongo::MongoClient.runAdminCmd (MongoClient.fan:107)
afMongo::MongoClient.buildInfo (MongoClient.fan:64)
afMongo::MongoClient.startup (MongoClient.fan:119)
afMongo::MongoClient.makeFromUri$ (MongoClient.fan:41)
afMongo::MongoClient.makeFromUri$ (MongoClient.fan)
afMongo::MongoClient.makeFromUri (MongoClient.fan:38)
我也尝试过 Robomongo v0.8.4,结果相似:弹出对话框说...
- 成功连接ds0#####.mongolab.com:#####
- 授权失败
我针对本地托管的 MongoDB v2.6.3 和 v3.0.8 数据库运行了 Fantom 脚本以及 Robomongo 连接和身份验证成功。
我的 Java 版本是 Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
我不知道 Robomongo 或 Fantom/afMongo 是否依赖于过时的 Java 或系统库。
请问有什么问题或者我应该检查什么?