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ファイルを検証する方法。
- GPG キー をダウンロードします。
gpg --import ruby-driver.ascを使用して GPG キーリングにキーをインポートします。- gemファイルをダウンロードします(まだ持っていない場合)。RubyGems から
gem fetch mongoを使用してダウンロードすることも、GitHub のリリース ページからダウンロードすることもできます。 - 同じリリースから対応する個別の署名ファイルをダウンロードします。[Assets] リストの下にある gemファイルに対応するリリースの下部で、インストールする gem と同じバージョン番号を持つ
.sigファイルを確認します。 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 キーをユーザーが個人的にどの程度信頼するかに依存していることに注意してください。詳しくは、https://www.gnupg.org/gPH/en/manual/x334.html を参照してください)
RubyGems の gem 署名機能を使用しない理由
RubyGems 独自の gem 署名には問題があり、 gem に署名するために使用されるキーに関連する信頼のチェーンが確立されていないためです。RubyGems の独自のドキュメントでは、「 gem に署名するこの方法は一般的に使用されていない」ことが許可されています(https://guides.rubygems.org/security/ を参照)。RubyGems コミュニティでのこれに関するディスカッションは 10 年以上表示され、最終的には解決策が提供される予定ですが、次の理由で現在は GPG を使用することで解決されています。
- MongoDBの他のドライバー チームの多くは、GPG を使用して製品リリースに署名しています。 他のチームとの整合性により、独自の製品リリースで既存のツールを再利用できます。
- GPG は広く利用可能であり、信頼の Web を処理するための既存のツールと手順があります(ただし、非常に難読性があり、未開始の場合は影響を受けやすいため)。
最終的に、ほとんどのユーザーは gem を検証することを心配することはなく、RubyGems のネイティブ メソッドよりも GPG を選択した際には影響されません。
ドキュメンテーション
高レベルのドキュメントと使用例は、 こちら にあります。
最新リリースの API ドキュメントは、こちらです。 マスター ブランチの API ドキュメントを構築するには、リポジトリをローカルにチェックアウトし、 rake docsを実行します。
ドキュメント フォルダーにあったチュートリアルや参照を含む高レベルのドライバー ドキュメントは、 Docs-rubyリポジトリに表示されるようになりました。
サポート
ドライバーの商用サポートはMongoDB サポート ポータルから利用できます。
質問、ディスカッション、または一般的な技術サポートについては、 MongoDB Community フォーラムをご覧ください。
その他のサポート リソースについては、ドキュメントの「テクニカル サポート」ページを参照してください。
バグと機能リクエスト
ドライバーのバグを報告したり、Ruby ドライバーに固有の機能をリクエストしたりするには、次のようにします。
- 問題追跡者にアクセスしてログインします(または、アカウントがまだない場合は作成します)。
- Ruby プロジェクトに移動します。
- [Create Usage(問題を作成)] をクリックし、該当するすべてのフォーム フィールドに入力します。
問題を作成するときは、Ruby プロジェクトの JIRA のすべての情報と、コア サーバー(SERVER プロジェクト)が一般に表示されていることを注意してください。
必ず を実行してください。
- 問題に関する可能な限り多くの情報を提供してください。
- 問題を再現するための詳細な手順を提供します。
- 該当するコード スニペット、スタック トレース、ログ データを提供します。 機密データやサーバーログは含めないでください。
- ドライバーと MongoDB サーバーのバージョン番号を指定します。
以下は行わないでください。
- 機密データやサーバーログを提供する。
- 潜在的なセキュリティの問題を公開します(以下の「セキュリティの問題」を参照してください)。
セキュリティの問題
Ruby ドライバー(またはその他の MongoDB 製品)でセキュリティに関連する可能性のある問題を特定した場合は、こちら の手順に従って問題を報告してください。
製品機能リクエスト
Ruby ドライバーに固有ではない機能、またはドライバーのみに複数の影響を与える機能(たとえば、MongoDB サーバーのサポートが必要な機能など)をリクエストするには、 MongoDB フィードバック フォーラムから提案を提出してください。
メンテナンスおよびバグ修正のポリシー
新しいドライバー機能は通常下位互換性のある方法で追加され、新しいドライバー リリースになります( 2 .x)。 バグ修正は通常、最初にマスターで行われ、現在のマイナー ドライバー リリースにバックポートされます。 ケースごとに例外が行われる場合があります。たとえば、セキュリティ修正は古い安定版ブランチにバックポートされる場合があります。 最新のドライバー リリースのみが公式にサポートされています。 カスタマーは、アプリケーションで最新のドライバー リリースを使用する必要があります。
実行中のテスト
ドライバーのテスト スイートの実行方法については、spec/README.md を参照してください。
リリース
Githubリリース ページ では、完全なリリースノートとリリース履歴を利用できます。
MongoDB Rubyドライバーは、リリースのセマンティック バージョン管理に従います。
ライセンス
Copyright (C) 2009-2020 MongoDB, Inc.
Apacheライセンス バージョン 2.0(「ライセンス」)に基づいて使用許諾されます。ライセンス にコンプライアンス場合を除き、このファイルを使用することはできません。ライセンスのコピーは次で取得できます:
http://www.apache.org/licenses/LICENSE-2.0
該当するルールによって要求されない限り、または書込み保証に同意された場合を除き、ライセンスの下で**分散された**ソフトウェアは、表現または暗黙的に任意の種類の保証または条件なしで、「AS IS」ベースで**分散された**ます。ライセンスの下の特定の言語を制御する権限と制限については、「 ライセンス 」を参照してください。