兼容性
Ruby MongoDB 驱动程序的兼容性
以下兼容性表指定了指定 Mongoid 版本的最新补丁版本支持的Ruby 驾驶员MongoDB ( gem)的版本。mongo
注意
同一次要版本中较旧版本的 Mongoid 可能支持较旧版本的驱动程序。例如,Mongoid 7.0.5 支持 2.5 及更高版本的驱动程序,而 Mongoid 7.0.6 需要 2.7 或更高版本的驱动程序。
Mongoid | 驱动程序 2.19-2.18 | 驱动程序 2.17-2.10 | 驱动程序 2.9-2.7 |
---|---|---|---|
8.0到9.0 | ✓ | ||
7.2到7.5 | ✓ | ✓ | |
7.0到7.1 | ✓ | ✓ | ✓ |
Ruby 兼容性
以下兼容性表指定了 Mongoid 支持的 Ruby 解释器版本。列中的“D”表示已弃用对该 Ruby 版本的支持。
Mongoid | Ruby 3.3 | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9.0 | ✓ [1] | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
8.1 | ✓ [1] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
8.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
7.5 | ✓ | ✓ | ✓ | ✓ | D | ✓ | D | ||||||
7.4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
7.3 | ✓ [2] | ✓ [2] | ✓ | ✓ | ✓ | D | D | ✓ | |||||
7.2 | ✓ [3] | ✓ [3] | ✓ | ✓ | ✓ | D | D | ✓ | |||||
7.1 | ✓ [4] | ✓ [4] | ✓ | ✓ | ✓ | ✓ [5] | ✓ | ✓ | |||||
7.0 | ✓ | ✓ | ✓ | ✓ [5] | ✓ | ✓ [6] | ✓ |
[1] | (1 ,2 ) Ruby3.3 需要 Mongoid8.1.7 和9 。0 。相应3 8中的 。1 和9 。0 个稳定分支。 |
[2] | (1、2) 需要 Mongoid 版本 7.3.2 或更高版本。 |
[3] | (1、2) 需要 Mongoid 版本 7.2.5 或更高版本。 |
[4] | (1, 2) 需要 7.1.10 或更高版本的 Mongoid。 |
[5] | ( 1 、 2 )需要 Ruby 版本2.4.1或更高版本。 |
[6] | 需要 Ruby 版本 2.2.2 或更高版本。 |
MongoDB Server 兼容性
以下兼容性表指定了与特定版本的 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 |
---|---|---|---|---|---|---|---|---|---|---|---|
8.0到9.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
7.4到7.5 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | D | D | D | D |
7.0到7.3 | ✓ | ✓ | ✓ | ✓ | ✓ | 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 | ✓ [ 13 ] | ✓ [ 12 ] | ✓ [ 11 ] | ✓ | ✓ | ✓ | ||
8.1 | ✓ [ 13 ] | ✓ [ 12 ] | ✓ [ 11 ] | ✓ | ✓ | ✓ | ✓ [7] | |
8.0 | ✓ [ 11 ] | ✓ | ✓ | ✓ | ✓ [7] | |||
7.5 | ✓ | ✓ | ✓ | ✓ [7] | D | |||
7.4 | ✓ | ✓ | ✓ | ✓ [7] | ✓ [7] | |||
7.3 | ✓ [10] | ✓ | ✓ | ✓ [7] | ✓ [7] | |||
7.2 | ✓ [9] | ✓ | ✓ [7] | ✓ [7] | ||||
7.1 | ✓ [9] | ✓ | ✓ | ✓ | ||||
7.0 | ✓ [9] | ✓ [8] | ✓ | ✓ |
[ 7 ] | (1、2、3、4、5、6、7、8、9)不支持将 Rails 5.x 与 Ruby 3 一起使用。 |
[8] | Rails 6.0 需要 7.0.5 或更高版本的 Mongoid。 |
[ 9 ] | (1, 2, 3) 的 Mongoid 7.0、7.1 和 7.2 稳定分支中的 7.0.12、7.1.7 或 7.2.1。 |
[ 10 ] | Rails 7.x 要求使用 Mongoid 7.3.4 或更高版本。 |
[ 11 ] | ( 1 、 2 、 3 ) Rails 7.1需要 Mongoid 8.0 。 7或8 。 1 。相应8 3 0和8 。 1 稳定的分支。 |
[ 12 ] | ( 1 , 2 ) Rails 7.2需要 Mongoid 8.1.6和9 。 0 。相应8 2 1和9 。 0 稳定的分支。 |
[ 13 ] | ( 1 , 2 ) Rails 8.0需要 Mongoid 8.1.7和9 。 0 。相应8 3 1和9 。 0 稳定的分支。 |
Rails 框架支持
Ruby on Rails 由许多框架组成,Mongoid 尝试尽可能提供与这些框架的兼容性。
尽管 Mongoid 尝试提供与 Active Record 的API兼容性 ,当使用 Mongoid 作为直接替代品时,直接依赖于 Active Record 的库可能无法按预期工作。
注意
Mongoid 可以在同一应用程序中与 Active Record 一起使用,不会出现问题。
Rails 框架 | 支持? |
---|---|
ActionCable | ✓ [ 14 ] |
ActionMailbox | ✗ [15] |
ActionMailer | ✓ |
ActionPack | ✓ |
ActionText | ✗ [15] |
ActionView | ✓ |
ActiveJob | ✓ [ 18 ] |
ActiveModel | ✓ [ 16 ] |
ActiveStorage | ✗ [15] |
ActiveSupport | ✓ [ 17 ] |
[ 14 ] | 目前没有MongoDB适配器,但任何现有适配器(例如ActionCable Redis )可以成功地与 Mongoid 模型结合使用 |
[ 15 ] | ( 1 、 2 、 3 )直接依赖于ActiveRecord |
[ 16 ] | Mongoid::Document 包括ActiveModel::Model 并利用ActiveModel::Validations 进行验证 |
[ 17 ] | Mongoid 需要并广泛使用ActiveSupport ,包括用于时间处理的ActiveSupport::TimeWithZone 。 |
[ 18 ] | 如果您显式将BSON::ObjectId 作为字符串发送,并在作业中重新构建它们,则 BSON 和 Mongoid 对象的序列化效果最佳:
|