gpt4 book ai didi

r - mongolite 的身份验证错误

转载 作者:可可西里 更新时间:2023-11-01 09:54:36 27 4
gpt4 key购买 nike

为了将数据保存到 mongodb(使用来自 CRAN 的 mongolite 包),我定义了以下函数:

  saveData <- function(data, collection) {
# Connect to the database
db <- mongo(collection = collection,
url = paste0(
"mongodb://",
options()$mongodb$username, ":",
options()$mongodb$password, "@",
options()$mongodb$host, "/",
databaseName))
# Insert the data into the mongo collection as a data.frame
data <- as.data.frame(t(data))
db$insert(data)
}

我的数据存储在一个看起来像这样的矩阵中:

> mat.answers
var1 var2 var3 var4 var5
1 90 60 70 60 50
2 85 65 75 55 50
3 80 70 75 70 25
4 75 70 80 80 55
5 80 66 80 75 55

但是,当我使用命令保存一些数据时,出现以下错误:

saveData(df.answers,"SST")
Mongo Message: SCRAM: authenticating "dynamo" (step 1)
Error: Authentication failed.
Called from: mongo_collection_command_simple(col, "{\"ping\":1}")
Browse[1]>

我在 mongodb 配置文件中生成了一个用户并启用了身份验证。从 mongo shell,我可以使用这些凭据正常登录。它既不能用于本地数据库,也不能连接到 mongolab 提供的远程数据库。

最佳答案

我发现以下命令允许我使用 mongolite 和旧版 SCRAM-SHA-1 身份验证模式连接到 mongodb。

library(mongolite)
mongoUrl <- "mongodb://a_username:a_password@localhost:27017/admin" #<-admin here is the mongodb database that stores the authentication info

# specify your collection
colname <- "a_collection"

# specify your database
dbname <- "a_database"

# create connection (con)
con <- mongo(collection = colname, url = mongoUrl, db=dbname)

# count how many records (fyi this is just a test)
con$count('{}')

关于r - mongolite 的身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38050869/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com