1

我在通过 Mongolite 连接到我的 MongoDB 时遇到问题,我不确定这是否是我这边的问题,或者我是否需要使用不同的包来连接到数据库。请记住,我无法更改 MongoDB 服务器运行的软件,而且我是所有这些方面的新手,所以这可能只是我的一个愚蠢的错误。

我已经运行了以下代码:

m <- mongo(collection = "test", url="mongodb://22.92.59.149:27017")

据我从 Mongolite 教程 ( https://jeroen.github.io/mongolite/ ) 中得知,这是连接数据库的正确语法,但我不是 100% 确定。无论如何,我收到以下错误:

Error: Server at 22.92.59.149:27017 reports wire version 2, 
but this version of libmongoc requires at least 3 (MongoDB 3.0)

据我所知,这意味着 mongolite 不适用于我的数据库。如果是这种情况,我应该尝试使用其他什么包来连接,或者如果这不是问题,我做错了什么?

提前致谢!

4

1 回答 1

1

正如消息所说,客户端和服务器的版本不匹配。

更准确地说,mongolite依赖于用 C 编写的更通用的驱动程序libmongoc,并且该语句自动安装的版本似乎install.packages("mongolite")对服务器的版本来说太新了。

如果您无法在服务器端更改任何内容,也许您可​​以尝试在安装之前手动安装旧版本,但我对之后与该 R 包的兼容性没有信心。libmongocmongolite

也许您可以使用RMongo,一个较旧的存档包在 R 中与 Mongo 进行交互,但我担心您要开发的内容在进一步的 R 版本中将不稳定。

我宁愿建议您查看问题服务器端。

于 2018-12-10T15:56:36.087 回答