You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB报错:localhost:27017服务端wire版本4,Ruby驱动要求最低版本6

Server at (localhost:27017) reports wire version (4), but this version of the Ruby driver requires at least (6)

问题根因

该报错由MongoDB服务端和Ruby驱动版本不匹配导致:

  • 服务端返回wire version 4,说明当前安装的MongoDB版本为3.4.x及更早版本
  • Ruby驱动要求wire version ≥6,说明项目中使用的驱动版本仅支持MongoDB 3.6及以上版本
解决方案

可根据自身需求选择以下任意一种方案解决:

方案1:降级Ruby MongoDB驱动(无需调整数据库,适合不想迁移现有数据的场景)

修改Rails项目根目录下的Gemfile,指定兼容MongoDB 3.4的驱动版本:

  • 如果使用Mongoid(Rails常用MongoDB ODM),修改对应配置为:
gem 'mongoid', '~> 7.0.5'
  • 如果直接使用Mongo Ruby驱动,修改对应配置为:
gem 'mongo', '~> 2.14.0'

修改完成后执行命令更新依赖:
bundle install
重启Rails服务即可验证数据库读写功能是否恢复。

方案2:升级MongoDB服务端版本(适合需要使用新版本MongoDB特性的场景)

升级前务必先备份全量数据库数据,操作步骤如下:

  • 备份现有数据:
    mongodump --out /自定义的备份文件存储路径
  • 停止当前运行的MongoDB服务:
    sudo systemctl stop mongod
  • 卸载旧版本MongoDB:
    sudo apt remove mongodb-org* -y
  • 导入对应版本MongoDB的GPG密钥、添加软件源后,安装3.6及以上版本的MongoDB,例如安装4.0版本执行命令:
    sudo apt install mongodb-org -y
  • 启动新版MongoDB服务并设置开机自启:
    sudo systemctl start mongod && sudo systemctl enable mongod
  • 恢复之前备份的数据库数据:
    mongorestore /自定义的备份文件存储路径
    重启Rails服务验证数据库读写功能是否正常。

内容的提问来源于stack exchange,提问作者Jitendra Chavhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:54:09