文档菜单
文档首页
/ / /
Mongoid
/

兼容性

本页内容

  • Ruby MongoDB 驱动兼容性
  • Ruby 兼容性
  • MongoDB 服务器兼容性
  • Rails 兼容性
  • Rails 框架支持

以下兼容性表格指定了指定 Mongoid 版本的最新补丁版本所支持的MongoDB 的 Ruby 驱动mongo 钥匙)版本。注意

同一次要版本中的较旧 Mongoid 版本可能支持较旧的驱动程序版本。例如,Mongoid 7.0.5 支持驱动程序版本 2.5 及更高版本,而 Mongoid 7.0.6 需要 2.7 或更高版本的驱动程序。

驱动程序 2.19-2.18

Mongoid
驱动程序 2.17-2.10
驱动程序 2.9-2.7
8.0 至 9.0
7.2 至 7.5
7.0 至 7.1
7.2 至 7.5
7.2 至 7.5
Ruby 兼容性
7.2 至 7.5
7.2 至 7.5
7.2 至 7.5

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 服务器一起使用时 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

以下兼容性表指定了 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 稳定分支中。

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 对象的序列化效果最佳。
record = Model.find(...)
MyJob.perform_later(record._id.to_s)
class MyJob < ApplicationJob
def perform(id_as_string)
record = Model.find(id_as_string)
# ...
end
end

返回

安装