Docs 菜单
Docs 主页
/ / /
Mongoid

兼容性

在此页面上

  • Ruby驱动程序兼容性
  • MongoDB 兼容性
  • 兼容性表图例
  • 语言兼容性
  • Ruby on Rails 兼容性
  • Rails 框架支持
  • 如何获得帮助

以下兼容性表指定了与每个 Mongoid 版本兼容的 Ruby驾驶员的版本。

注意

补丁版本兼容性

同一次要发布中较旧的 Mongoid 补丁版本可能支持较旧的Ruby驾驶员版本。 示例,Mongoid v7.0.5 支持Ruby驾驶员v2.5 及更高版本,但 Mongoid v7.0.6 需要驾驶员v2.7 或更高版本。

Mongoid 版本
Ruby驱动程序2.18 至 2.21
Ruby驱动程序2.10 至 2.17
Ruby驱动程序2.7 至 2.9

8.0 到 9.0

以下兼容性表指定了可与特定版本的MongoDB一起使用的推荐版本或 Mongoid 版本。 要使用特定MongoDB Server版本的功能, Ruby驾驶员和 Mongoid 都必须与该MongoDB版本兼容。 要学习;了解驱动程序的MongoDB兼容性详细信息,请参阅Ruby驾驶员文档中的兼容性。

第一列列出了 Mongoid 的版本。

重要

在服务器版本生命周期结束 (EOL) 日期之后的三年内,MongoDB 将确保 MongoDB Server 与驱动程序兼容。要了解有关 MongoDB 版本和 EOL 日期的更多信息,请参阅 MongoDB 软件生命周期时间表

Icon
解释

支持所有功能。

该驱动程序版本将与 MongoDB 版本一起使用,但并不支持所有新的 MongoDB 功能。

无标记

驱动程序版本未使用 MongoDB 版本测试。

Mongoid 版本
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6

9.0

8.0 到 8.1

要进一步学习;了解如何阅读兼容性表,请参阅MongoDB兼容性表指南。

以下兼容性表指定了可与特定Ruby解释器版本一起使用的 Mongoid 的推荐版本。

第一列列出了 Mongoid 的版本。

Mongoid 版本
Ruby 3.2
Ruby 3.1
Ruby 3.0
Ruby 2.7
Ruby 2.6
Ruby 2.5
JRuby 9.4
JRuby 9.3
JRuby 9.2

9.0

8.1

8.0

要进一步学习;了解如何阅读兼容性表,请参阅MongoDB兼容性表指南。

以下兼容性表指定了 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

[1]

[2]

[3]

8.1

[1]

[2]

[3]

[4]

8.0

[3]

[4]

[1]12 )Rails8.0 需要相应.8.1.7 90381和. 中的 Mongoid v 和9 v..0稳定的分支。
[2]12 )Rails7.2 需要相应.8.1.6 90281和. 中的 Mongoid v 和9 v..0稳定的分支。
[3]( 、1 23 )Rails7.1 需要相应 中的 Mongoid8.0 v.7 或 v..8 138。0 和8 。1稳定的分支。
[4]12 )不支持将 Rails.x5 与Ruby3 一起使用。

Mongoid 与构成Ruby on Rails 的许多框架兼容。 在本节中,您可以学习;了解哪些框架可以与 Mongoid 一起使用。

Mongoid 尝试提供与 Active Record 的API兼容性,但如果您使用 Mongoid 作为直接替代品,则直接依赖于 Active Record 的库可能无法按预期工作。

注意

您可以在同一应用程序中将 Mongoid 与 Active Record 一起使用。

Rails 框架
Mongoid 支持
注意

ActionCable

没有适用于MongoDB适配器,但您可以将任何现有适配器(例如ActionCable Redis 适配器)与 Mongoid 模型一起使用。

ActionMailbox

不支持

直接依赖于 Active Record。

ActionMailer

ActionPack

ActionText

不支持

直接依赖于 Active Record。

ActionView

ActiveJob

如果您显式将 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

ActiveModel

Mongoid::Document模块包括ActiveModel::Model 并利用ActiveModel::Validations 进行 文档验证。

ActiveStorage

不支持

直接依赖于 Active Record。

ActiveSupport

Mongoid 模块需要 ActiveSupportMongoid 使用 ActiveSupport::TimeWithZone 处理时间值。

如果您对兼容性有疑问,请访问以下资源以获取进一步指导:

  • 在我们的 MongoDB Community 论坛上提问。

  • 访问支持频道。

  • 在我们的问题跟踪器 Jira 中提出问题或功能请求。 您可以在问题和帮助页面找到提交票证的说明。

后退

API 文档