我在通过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无法与我的数据库一起使用。如果是这样,我应该尝试使用其他哪个软件包进行连接,或者如果这不是问题,那我做错了什么?
谢谢!
答案 0 :(得分:1)
如消息所示,客户端和服务器的版本不匹配。
更确切地说,mongolite
依赖于用C编写的更通用的驱动程序,libmongoc
,并且看来install.packages("mongolite")
语句自动安装的版本对于服务器版本来说太新了。
如果您无法在服务器端进行任何更改,则也许可以在安装libmongoc
之前尝试manually install较旧版本的mongolite
,但是我对兼容性不敢肯定然后使用该R包。
也许您可以使用RMongo(一个较旧的archived软件包)在R中与Mongo进行交互,但是恐怕您要开发的内容在其他R版本中将不稳定
我宁愿建议您查看问题服务器端。