r - 无法使用 Mongolite R 验证凭据

标签 r mongodb heroku

我使用 R 并尝试使用最新的“Mongolite”。但是我无法连接到 MongoDB 服务器。 该手册明确指出以下内容:

mongo(collection = "test", db = "test", url = "mongodb://localhost")

这是我尝试过但没有成功的方法,当然我有一个日志 token 和端口。

mongodb://heroku:TOKEN@lennon.mongohq.com:PORT 

并不断收到以下错误:

Error in mongo_collection_new(url, db, collection) : 
  Failed to authenticate credentials.

最佳答案

mongolite(截至今天的 v0.7)支持经过身份验证的连接到 远程 3.2.x MongoDB(相对于 localhost )。

下面的例子 jeroenooms 提供了他自己的工作:

library(mongolite)
mongo(collection = "mtcars", url = "mongodb://readwrite:test@ds043942.mongolab.com:43942/jeroen_test")

解释:

  • mtcars 是 MongoDB“集合”(或“表”,如果您坚持的话)的名称。它可能是一个尚不存在的名称。
  • readwrite 是你的mongodb的用户名
  • test是用户“readwrite”的密码
  • ds043942.mongolab.com为远程主机,可以用ip地址代替,即23.20.234.21
  • 43942 是端口号。在 MongoDB 中默认为 27017
  • jeroen_test 是正在使用的数据库实例的名称,必须已经存在

在 R 中运行上面的命令将打印:

Mongo Message: SCRAM: authenticating "readwrite" (step 1)

Mongo Message: SCRAM: authenticating "readwrite" (step 2)

Mongo Message: SCRAM: authenticating "readwrite" (step 3)

Mongo Message: SCRAM: "readwrite" authenticated

...


我试图用我自己的远程主机信息替换它。一开始不行,后来变成了用户角色的问题,而不是mongolite的问题。在确保用户具有正确的读写角色后,我通过 mongolite 包连接到我的远程 3.2.x MongoDB。

以下两个资源对我在 MongoDB 中设置用户有很大帮助:

关于r - 无法使用 Mongolite R 验证凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29733638/

相关文章:

heroku - Play 1.2.5 应用部署在 heroku "Oops. conf/routes or conf/application.conf missing."

r - 编织为 pdf 时如何添加大引号或撇号来绘制文本?

r - 始终在内部对结果数据帧进行拆分

mongodb - 非法指令(核心转储)mongodb Ubuntu 20.04 LTS

mongodb - 为什么多键索引会阻塞 MongoDB 中的 indexOnly 查询?

SSL 与 Heroku 托管和 Gandi 域

java - 当我尝试git push heroku时出现错误

R - 如何根据单个当前值有条件地设置向量中的多个值

r - 是否可以就地(破坏性地)修改data.frame?

java - MongoDB + Java : no $db stored with DbRef?