兼容性
Ruby MongoDB 驱动兼容性
以下兼容性表格指定了指定 Mongoid 版本的最新补丁版本所支持的MongoDB 的 Ruby 驱动(mongo
钥匙)版本。注意
同一次要版本中的较旧 Mongoid 版本可能支持较旧的驱动程序版本。例如,Mongoid 7.0.5 支持驱动程序版本 2.5 及更高版本,而 Mongoid 7.0.6 需要 2.7 或更高版本的驱动程序。
驱动程序 2.19-2.18
以下兼容性表格指定了 Mongoid 支持的 Ruby 解释器版本。列中的 "D" 表示对该 Ruby 版本的支持已弃用。
Ruby 3.3
Mongoid | Ruby 3.2 | Ruby 3.1 | Ruby 3.0 | Ruby 2.7 | Ruby 2.6 | Ruby 2.5 | Ruby 2.4 | Ruby 2.3 | Ruby 2.2 | JRuby 9.4 | JRuby 9.3 | JRuby 9.2 | JRuby 9.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9.0 | 7.2 至 7.5 [1] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | |||||||
8.1 | 7.2 至 7.5 [1] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | ||||||
8.0 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | ||||||||
7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | D | 7.2 至 7.5 | D | ||||||
7.4 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | |||||||
7.3 | 7.2 至 7.5 [2] | 7.2 至 7.5 [2] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | D | D | 7.2 至 7.5 | |||||
7.2 | 7.2 至 7.5 [3] | 7.2 至 7.5 [3] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | D | D | 7.2 至 7.5 | |||||
7.1 | 7.2 至 7.5 [4] | 7.2 至 7.5 [4] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [5] | 7.2 至 7.5 | 7.2 至 7.5 | |||||
7.0 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [5] | 7.2 至 7.5 | 7.2 至 7.5 [6] | 7.2 至 7.5 |
[1] | (1, 2) Ruby 3.3 需要 8.1 和 9.0 稳定分支中的 Mongoid 8.1.7 和 9.0.3。 |
[2] | (1, 2) 需要 Mongoid 7.3.2 或更高版本。 |
[3] | (1, 2) 需要 Mongoid 7.2.5 或更高版本。 |
[4] | (1, 2) 需要 Mongoid 版本 7.1.10 或更高版本。 |
[5] | (1, 2) 需要 Ruby 版本 2.4.1 或更高版本。 |
[6] | 需要 Ruby 版本 2.2.2 或更高版本。 |
MongoDB 服务器兼容性
以下兼容性表指定了与特定版本的 MongoDB 服务器一起使用时 Mongoid 推荐的版本。
请注意,为了使用特定 MongoDB 服务器版本的特性,驱动程序和 Mongoid 必须支持该服务器版本。请参阅驱动程序兼容性页面以获取驱动程序兼容性矩阵。
列中的“D”表示对该 MongoDB 服务器版本的兼容性已弃用,将在下一个版本中删除。
Mongoid | MongoDB 7.0 | MongoDB 6.0 | MongoDB 5.0 | MongoDB 4.4 | MongoDB 4.2 | MongoDB 4.0 | MongoDB 3.6 | MongoDB 3.4 | MongoDB 3.2 | MongoDB 3.0 | MongoDB 2.6 |
---|---|---|---|---|---|---|---|---|---|---|---|
✓ | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | ||||
7.4 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | D | D | D | D |
7.0 至 7.3 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | D | D | D | D |
Rails 兼容性
以下兼容性表指定了 Mongoid 支持的 Ruby on Rails 版本。
Mongoid | Rails 8.0 | Rails 7.2 | Rails 7.1 | Rails 7.0 | Rails 6.1 | Rails 6.0 | Rails 5.2 | Rails 5.1 |
---|---|---|---|---|---|---|---|---|
9.0 | 7.2 至 7.5 [13] | 7.2 至 7.5 [12] | 7.2 至 7.5 [11] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | ||
8.1 | 7.2 至 7.5 [13] | 7.2 至 7.5 [12] | 7.2 至 7.5 [11] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [7] | |
8.0 | 7.2 至 7.5 [11] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [7] | |||
7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [7] | D | |||
7.4 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [7] | 7.2 至 7.5 [7] | |||
7.3 | 7.2 至 7.5 [10] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 [7] | 7.2 至 7.5 [7] | |||
7.2 | 7.2 至 7.5 [9] | 7.2 至 7.5 | 7.2 至 7.5 [7] | 7.2 至 7.5 [7] | ||||
7.1 | 7.2 至 7.5 [9] | 7.2 至 7.5 | 7.2 至 7.5 | 7.2 至 7.5 | ||||
7.0 | 7.2 至 7.5 [9] | 7.2 至 7.5 [8] | 7.2 至 7.5 | 7.2 至 7.5 |
[7] | (1, 2, 3, 4, 5, 6, 7, 8, 9) 不支持使用 Ruby 3 与 Rails 5.x。 |
[8] | Rails 6.0 需要 Mongoid 7.0.5 或更高版本。 |
[9] | (1, 2, 3) Rails 6.1 需要 7.0.12、7.1.7 或 7.2.1,分别在 7.0、7.1 和 7.2 稳定分支中。 |
[10] | Rails 7.x 需要 Mongoid 7.3.4 或更高版本。 |
[11] | (1, 2, 3) Rails 7.1 需要 8.0.7 或 8.1.3,分别在 8.0 和 8.1 稳定分支中。 |
[12] | (1, 2) Rails 7.2 需要 8.1.6 和 9.0.2,分别在 8.1 和 9.0 稳定分支中。 |
[13] | (1, 2) Rails 8.0 需要 8.1.7 和 9.0.3,分别在 8.1 和 9.0 稳定分支中。 |
支持Rails框架
Ruby on Rails由多个框架组成,Mongoid尽可能地提供与这些框架的兼容性。
尽管Mongoid尝试与Active Record进行API兼容性,但是当Mongoid作为Active Record的替代品时,依赖于Active Record的库可能无法按预期工作。
同一次要版本中的较旧 Mongoid 版本可能支持较旧的驱动程序版本。例如,Mongoid 7.0.5 支持驱动程序版本 2.5 及更高版本,而 Mongoid 7.0.6 需要 2.7 或更高版本的驱动程序。
Mongoid可以在同一个应用程序中与Active Record同时使用而不会出现问题。
Rails框架 | 支持? |
---|---|
ActionCable | 7.2 至 7.5 [14] |
ActionMailbox | ✗ [15] |
ActionMailer | 7.2 至 7.5 |
ActionPack | 7.2 至 7.5 |
ActionText | ✗ [15] |
ActionView | 7.2 至 7.5 |
ActiveJob | 7.2 至 7.5 [18] |
ActiveModel | 7.2 至 7.5 [16] |
ActiveStorage | ✗ [15] |
ActiveSupport | 7.2 至 7.5 [17] |
[14] | 目前没有为ActionCable 提供MongoDB适配器,但是任何现有的适配器(例如Redis)可以与Mongoid模型成功结合使用 |
[15] | (1, 2, 3) 直接依赖于ActiveRecord |
[16] | Mongoid::Document 包括ActiveModel::Model 并利用ActiveModel::Validations 进行验证 |
[17] | Mongoid 需要依赖 ActiveSupport 并广泛使用它,包括使用 ActiveSupport::TimeWithZone 处理时间。 |
[18] | 当显式将 BSON::ObjectId 作为字符串发送并在工作过程中重新构建它们时,BSON 和 Mongoid 对象的序列化效果最佳。
|