MongoDB Ruby 驱动程序

MongoDB官方支持的Ruby驾驶员。

Ruby驾驶员支持Ruby 2.7-3.3 和 JRuby 9.3-9.4。

安装

通过 RubyGems 进行安装,或者通过命令行进行临时使用:

$ gem install Mongo

或者通过 Gemfile 实现更一般的用途:

gem ‘mongo’

发布完整性

2.20.0 之后的每个MongoDB Ruby驾驶员发布都是使用团队的 GPG 密钥自动构建和签名的。

要验证驱动程序的 gem文件:

  1. 下载 GPG 密钥。

  2. 使用 gpg --import ruby-driver.asc 将密钥导入到 GPG 密钥环中。

  3. 下载 gem文件(如果还没有)。 您可以使用 从gem fetch mongo RubyGems下载,也可以从Github的发布页面下载。

  4. 从同一发布下载相应的分离签名文件。查看与 gem文件对应的发布底部的“资产”列表下,是否有与要安装的 gem 版本号相同的 .sig文件。

  5. 使用 gpg --verify mongo-X.Y.Z.gem.sig mongo-X.Y.Z.gem 验证 gem(将 X.Y.Z 替换为实际版本号)。

您正在输出中查找类似“来自MongoDB Ruby驱动程序发布签名密钥打包@mongodb.com 的良好签名”的文本。如果看到该消息,则表明该签名与给定的 gem文件相对应。

(请注意,其他输出,例如“此密钥未经可信签名认证!”,与信任网络有关,取决于您个人对从我们这里下载的 ruby-driver.asc密钥的信任程度。要学习;了解详情,请参阅 www.gnupg.org/gph/en/manual/x.html)334

为什么不使用 RubyGems 的 gem 签名功能?

RubyGems 自己的 gem 签名存在问题,最重要的是因为没有建立与用于签署 gem 的密钥相关的信任链。 RubyGems 自己的文档承认“这种对 gem 进行签名的方法并未得到广泛使用”(请参阅guides.Rubygems.org/security/)。十多年来,RubyGems 社区关于此问题的讨论一直断断续续,虽然最终会找到解决方案,但我们还是决定使用 GPG 来代替,原因如下:

  1. MongoDB的许多其他驾驶员团队正在使用 GPG 对其产品版本进行签名。 与其他团队的一致性意味着我们可以在自己的产品版本中重复使用现有工具。

  2. GPG 已被广泛使用,并且拥有用于处理信任网络的现有工具和程序(不幸的是,对于外行来说,它们确实非常神秘和令人生畏)。

最终,大多数用户不会费心去验证 gem,并且不会因为我们选择 GPG 而不是 RubyGems 的原生方法而受到影响。

文档

高级文档和用法示例位于此处

可以在此处找到最新发布的API文档。 要为主分支构建API文档,请在本地查看存储库并运行rake docs

Docs文件夹中的高级驾驶员文档,包括教程和参考资料,现在可以在 Docs-Ruby存储库(此处)中找到

支持

该驾驶员的商业支持可通过MongoDB支持门户获得。

如有疑问、需要讨论或一般技术支持,请访问MongoDB Community论坛

有关其他支持资源,请参阅文档中的技术支持页面。

错误和功能请求

要报告驱动程序中的错误或请求特定于 Ruby 驱动程序的功能:

  1. 访问我们的问题跟踪器并登录(如果还没有帐户,请创建一个帐户)。

  2. 导航到Ruby项目

  3. 单击“创建问题”并填写所有适用的表单字段。

创建问题时,请记住,JIRA 中 RUBY 项目以及核心服务器(SERVER 项目)的所有信息都是公开可见的。

请执行以下操作:

  • 提供尽可能多的有关问题的信息。

  • 提供重现问题的详细步骤。

  • 提供任何适用的代码片段、堆栈跟踪和日志数据。 请勿包含任何敏感数据或服务器日志。

  • 指定驱动程序和 MongoDB Server 的版本号。

请勿:

  • 提供所有敏感数据或服务器日志。

  • 公开报告潜在的安全问题(请参阅下面的“安全问题”)。

安全问题

如果您发现Ruby驾驶员(或任何其他MongoDB产品)存在潜在的安全相关问题,请按照此处的说明进行报告。

产品功能请求

要请求非Ruby驾驶员特有的功能,或影响的不仅仅是驾驶员(示例,需要MongoDB服务器支持的功能),请通过MongoDB反馈论坛提交您的想法。

维护和错误修复策略

新的驾驶员功能通常以向后兼容的方式添加,并导致新的次要驱动程序发布( 2 .x)。 错误修复通常首先在主版本上进行,然后向后移植到当前的次要驾驶员发布。 可能会根据具体情况进行例外处理,示例,安全修复程序可能会向后移植到较早的稳定分支。 仅官方支持最新的次要驾驶员发布。 客户应在其应用程序中使用最新的驾驶员发布。

运行测试

请参阅spec/README.md以了解有关如何运行驱动程序测试套件的说明。

发布历史记录

Github发布页面提供了完整的发布说明和发布历史记录。

许可证

版权所有 © 2009 - 2020 MongoDB, Inc.

根据 Apache 许可证2.0版(“许可证”)获得许可;除非符合许可协议,否则不得使用此文件。 您可以在以下网址获取许可证副本:

www.apache.org/licenses/LICENSE- 2.0

除非适用法律要求或书面同意,否则根据本许可证分发的软件将“按原样”分发,没有任何类型的Express或暗示的保证或条件。 请参阅许可证,了解管理许可证下的权限和限制的特定语言。