ドライバーの互換性
項目一覧
MongoDB の互換性
次の互換性テーブルは、特定のバージョンの MongoDB で使用するための MongoDB Ruby ドライバーの推奨バージョンを示しています。 指定されている場合を除き、指定されたドライバー バージョンは、対応するサーバー バージョンに追加された機能を公開または利用します。
MongoDB サーバーのリリースは通常下位互換性があります。つまり、特定のバージョンのドライバーは新しいバージョンのサーバーでは通常動作しますが、新しいバージョンのサーバーでリリースされた機能は利用されない可能性があります。
重要
MongoDB は、MongoDB Serverのサポート終了日(EOL)から 3 年間、MongoDB Server とドライバー間の互換性を確保します。MongoDB のリリースと EOL 日付の詳細については、 MongoDB ソフトウェア ライフサイクル スケジュールを参照してください。
最初の列は、ドライバーのバージョンの一覧です。他の列の「D」は、その MongoDB バージョンのサポートは非推奨であり、将来のドライバー バージョンでは削除されることを意味します。
Ruby ドライバー | MongoDB 8.0 | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2.21 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.20 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.19 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.18 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.17 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
2.16 | ✓ | ✓ | ✓ | ✓ | ✓ | D | D | D | D | |||
2.15 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.14 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.13 | ✓ [1] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.11 | ✓ [3] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.10 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.9 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.5 | ✓ | ✓ | ✓ | ✓ | ✓ |
[1] | OCSP 検証はドライバー バージョン2.14として実装されています。 |
[2] | シャーディングされたトポロジの SRV レコードのポーリングは、 ドライバー バージョン2.11の として実装されています。 |
[3] | ( 1 、 2 )クライアント側の暗号化は、ドライバー バージョン 2.12 以降で として実装されています。 |
ドライバーは MongoDB の古いバージョンをサポートしていません。
Ruby 互換性
次の互換性テーブルは、MongoDB Ruby ドライバーのさまざまなバージョンでサポートされている Ruby のバージョンを示しています。
最初の列は、ドライバーのバージョンの一覧です。 列の「D」は、その Ruby バージョンのサポートが非推奨であることを意味します。
Ruby ドライバー | 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 | Ruby 2.1 | Ruby 2.0 | Ruby 1.9 | JRuby 9.4 | JRuby 9.3 | JRuby 9.2 | JRuby 9.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2.20から2.21 | ✓ | ✓ | ✓ | D | ✓ | ✓ | D | |||||||||
2.19 | ✓ | ✓ | ✓ | ✓ | D | D | ✓ | ✓ | ||||||||
2.18 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
2.17 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.16 | ✓ | ✓ | ✓ | ✓ | D | ✓ | ||||||||||
2.15 | ✓ | ✓ | ✓ | ✓ | D | D | ✓ | |||||||||
2.14 | ✓ | ✓ | ✓ | D | D | ✓ | ||||||||||
2.13 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.10 | ✓ | ✓ | ✓ | ✓ | ✓ | D | D | D | D | ✓ | ✓ | |||||
2.9 | ✓ | ✓ | ✓ | ✓ | D | D | D | D | ✓ | ✓ | ||||||
2.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ドライバーは Ruby の古いバージョンをサポートしていません。
Rails/ActiveSupport の互換性
Ruby ドライバーは ActiveSupport に依存しません。 ただし、アプリケーションが ActiveSupport または Ruby on Rails を使用する場合、時間直列化のような動作を正しく行うには、ドライバーの ActiveSupport 互換性コードをロードする必要があります。
require 'mongo' require 'mongo/active_support'
Mongoid 7.0.6以降を使用するアプリケーションでは、Mongoid が自動的にロードするため、ドライバーの ActiveSupport コードを明示的にロードする必要はありません。
TLS/SSL 互換性
ドライバーは、基礎となる Ruby openssl
拡張機能でサポートされているプロトコルを利用します。 次に、 openssl
拡張機能は通常、オペレーティング システムの OpenSSL ライブラリに存在する機能を公開します。
業界のベストプラクティスと一部の規制では、TLS 1.1以上の使用が必要です。 一部のオペレーティング システムまたはバージョンでは、これらの TLS バージョンをサポートするのに十分な新しい OpenSSL バージョンが提供されていない場合があります。
(高 Sierra)より古い macOS のユーザーは、10.13 rvm から Ruby をインストールする必要があります 、 Homebrew 、 macports 、または別の類似したソース。Ruby-lang.org のインストール情報を 参照 その他のオプションについては、 を参照してください。
Linux またはその他の macOS Unix 以外の Unix のユーザーは、次のように OpenSSL バージョンを確認できます。
openssl version
バージョン番号が1.0.1未満の場合 TLS 1.1以降のサポートは利用できません。 ソリューションまたは新しいディストリビューションへのアップグレードについては、オペレーティング システムのベンダーに問い合わせてください。
次のコマンドを実行すると、Ruby インタープリタを確認できます。
ruby -e "require 'net/http'; require 'json'; puts JSON.parse(Net::HTTP.get(URI('https://www.howsmyssl.com/a/check')))['tls_version']"
X は >= 1である "TLS 1 .X" が表示されます。
TLS のバージョンとそのセキュリティへの影響の詳細については、以下を参照し てください 。
Atlas の互換性
JRuby で実行中に Atlas 無料階層に接続する場合、 ドライバー バージョン 2.6.4以上と Java8 以上が必要です。
mongo_kerberos
互換性
次の互換性テーブルは、特定のバージョンのドライバーで使用する mongo_kerberos ライブラリのバージョンを示しています。
Ruby ドライバー | mongo_kerberos 2.1 |
---|---|
2.7 - 2.19 | ✓ |
JRuby および Kerberos 認証
mongo_kerberos
gem が JRuby での Kerberos 認証に使用される場合、TGP のシステム キャッシュ(例: kinit
で取得された TGP と )。 JGSS ライブラリの他の使用もこの設定の影響を受けます。つまり、システム キャッシュ内のすべての TGP は Kerberos の認証情報を取得するためにも利用できます。
JRuby と TLS 接続
JRuby の制限による:
ECDSA サーバー証明書はサポートされていません。
OCSP エンドポイント チェックは実行されません。