我使用R,并尝试使用最近的“蒙古国”。但是,我无法连接到MongoDB服务器。该手册明确规定如下:
mongo(collection = "test", db = "test", url = "mongodb://localhost")这就是我尝试过但没有成功的地方,当然,我有一个日志令牌和端口。
mongodb://heroku:TOKEN@lennon.mongohq.com:PORT 并继续获得以下错误:
Error in mongo_collection_new(url, db, collection) :
Failed to authenticate credentials.发布于 2015-04-21 08:49:02
如果您查看jeroenooms/mongolite的源代码,就会发现它还不支持身份验证:
https://github.com/jeroenooms/mongolite/blob/master/R/mongo.R
mongo_collection_new <- function(uri = "mongodb://localhost", db = "test", collection = "test"){
stopifnot(is.character(uri))
stopifnot(is.character(db))
stopifnot(is.character(collection))
.Call(R_mongo_collection_new, uri, db, collection)
}发布于 2016-01-14 06:37:01
mongolite (今天的版本0.7)支持远程3.2.x MongoDB (相对于本地主机)的身份验证连接。
下面的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中是27017jeroen_test是正在使用的数据库实例的名称,它必须已经存在。在R中运行上述命令将打印:
Mongo消息: SCRAM:验证"readwrite“(步骤1) Mongo消息: SCRAM:验证"readwrite“(步骤2) Mongo消息: SCRAM:验证"readwrite“(步骤3) Mongo消息: SCRAM:“ReadW区”认证 ..。
我试图用我自己的远程主机信息来替换它。它在一开始就不起作用,它变成了用户角色问题,而不是mongolite问题。在确保用户具有正确的readWrite角色之后,我通过mongolite包连接到远程3.2.x 。
以下两个来源对我在MongoDB中设置用户有很大帮助:
发布于 2020-10-20 10:25:08
只需改变顺序:
mongo( url = "mongodb://localhost",db = "test",collection = "test")
https://stackoverflow.com/questions/29733638
复制相似问题