Mongo::Error::UnsupportedFeatures (Server at (localhost:27017) reports wire version (2), but this version of the Ruby driver requires at least (6).)
Mongo::Error::UnsupportedFeatures (Server at (localhost:27017) reports wire version (2), but this version of the Ruby driver requires at least (6).)
我正在尝试将 Rails 4.2 应用程序中的 Mongoid 从 4.x 升级到 5.x (5.4.1) 以连接到 MongoDB 2.6。
我更新了 mongoid.yml
文件以匹配 5.x 的差异:
development:
clients:
default:
database: my_db
hosts:
- localhost:27017
options:
但现在当我尝试 运行 查询时,例如 User.count
我收到以下错误:
Mongo::Error::UnsupportedFeatures (Server at (localhost:27017) reports wire version (2), but this version of the Ruby driver requires at least (6).)
docs说Mongoid5.x兼容MongoDB2.6,为什么会报错?
我有另一个 rails 应用程序 (6.x),它使用 Mongoid 7.x 并且可以很好地连接到同一个数据库。
注:Ruby2.6
OS: MacOS
MongoDB 此处的文档有点混乱。
link你posted is referring the the compatibility between mongoid and the ruby mongodb driver.
another page 有一个矩阵,表示 ruby 驱动程序和 mongoDB 服务器的兼容性。
所以@javiyu 的回答给我指明了正确的方向,MongoDB 的文档确实令人困惑,而 Mongoid 本身支持 MongoDB 2.6, ruby MongoDB驱动程序从版本 2.16 开始不再支持 MongoDB 2.6(已弃用并从 2.17 完全删除,这是我 运行 使用的版本),因此将版本固定到 2.15 就可以了:
#last version that supports mongodb 2.6
gem 'mongo', "~> 2.15.0"
#last version to support rails 4.2, above that requires at least rails 5
gem 'mongoid', "~> 5.4.0"
我在嵌入 mongo/java/spring 时遇到了同样的错误。通过 spring.mongodb.embedded.version=2.6.0
和
解决了它
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<version>2.2.0</version>
</dependency>
我正在尝试将 Rails 4.2 应用程序中的 Mongoid 从 4.x 升级到 5.x (5.4.1) 以连接到 MongoDB 2.6。
我更新了 mongoid.yml
文件以匹配 5.x 的差异:
development:
clients:
default:
database: my_db
hosts:
- localhost:27017
options:
但现在当我尝试 运行 查询时,例如 User.count
我收到以下错误:
Mongo::Error::UnsupportedFeatures (Server at (localhost:27017) reports wire version (2), but this version of the Ruby driver requires at least (6).)
docs说Mongoid5.x兼容MongoDB2.6,为什么会报错?
我有另一个 rails 应用程序 (6.x),它使用 Mongoid 7.x 并且可以很好地连接到同一个数据库。
注:Ruby2.6
OS: MacOS
MongoDB 此处的文档有点混乱。
link你posted is referring the the compatibility between mongoid and the ruby mongodb driver.
another page 有一个矩阵,表示 ruby 驱动程序和 mongoDB 服务器的兼容性。
所以@javiyu 的回答给我指明了正确的方向,MongoDB 的文档确实令人困惑,而 Mongoid 本身支持 MongoDB 2.6, ruby MongoDB驱动程序从版本 2.16 开始不再支持 MongoDB 2.6(已弃用并从 2.17 完全删除,这是我 运行 使用的版本),因此将版本固定到 2.15 就可以了:
#last version that supports mongodb 2.6
gem 'mongo', "~> 2.15.0"
#last version to support rails 4.2, above that requires at least rails 5
gem 'mongoid', "~> 5.4.0"
我在嵌入 mongo/java/spring 时遇到了同样的错误。通过 spring.mongodb.embedded.version=2.6.0
和
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<version>2.2.0</version>
</dependency>