【问题标题】:Error connecting to mongoDB using Mongolite使用 Mongolite 连接到 mongoDB 时出错
【发布时间】:2019-05-11 11:59:53
【问题描述】:

我在通过 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 无法与我的数据库一起使用。如果是这种情况,我应该尝试使用其他什么包来连接,或者如果这不是问题,我做错了什么?

提前致谢!

【问题讨论】:

    标签: r mongodb database-connection mongolite libmongoc


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 谢谢鸭嘴兽。我将研究解决问题服务器端,如果我找不到更新它的方法,那么我将尝试使用旧版本的 libmongoc 或 RMongo。
    猜你喜欢
    • 1970-01-01
    • 2019-08-28
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 2020-04-27
    • 2017-11-30
    相关资源
    最近更新 更多