我试着用rmongodb登录,但它不认证。这是我的连接字符串:
myMongoConnection <- mongo.create(host = "<myip>",db = "geoLoc", username = "<myusername>", password = "<mypassword>")但是,如果我在计算机上打开一个芒果壳并键入:
mongo <myip>/geoLoc -u '<myusername>' -p '<mypassword>'
连接得很好。
此外,如果我登录到服务器并通过注释:auth = true禁用身份验证,然后尝试:
myMongoConnection <- mongo.create(host = "<myip>",db = "geoLoc)"
它也很好用。这与用户名和密码有关。我不知道什么,虽然我知道他们是“正确的”,因为我可以登录他们!
发布于 2015-07-28 02:17:35
您可能正在运行服务器版本的MongoDB 3.0或更高版本( 3.x系列当前作为写入),它有一个更新的安全认证机制 (来自MONGODB的SCRA-SHA-1),与不支持它的旧驱动程序版本不兼容。
在当前的瑞香草包版本(编写版本1.8.0 )中,该驱动程序基于与新身份验证方法不兼容的遗留C驱动程序实现。正如在关于该储存库的问题中所指出的,作者注意到了这个驱动程序依赖项,并指出包需要重写才能利用支持新身份验证方法的新API。
在撰写本文时,除了建立一个目前尚未准备好发布的新分支之外,似乎还没有进行任何这样的更改。
因此,你目前的选择是:
因此,"rmongodb“本身目前无法连接到MongoDB 3.x服务器。如果您能够在完全的身份验证支持下将其开发到下一个版本,那么可以应用其他选项之一和/或自己为解决方案做出贡献。
在这个问题中,其他可能的驱动程序选择会被链接或讨论。
https://stackoverflow.com/questions/31664719
复制相似问题