Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

setFeatureCompatibilityVersion

項目一覧

  • 定義
  • 互換性
  • 構文
  • 動作
setFeatureCompatibilityVersion

MongoDB の旧バージョンと互換性のないデータを保持する機能を有効または無効にします。 setFeatureCompatibilityVersionadmin データベースに対してのみ発行できます。

警告

下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。

ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの下位互換性のない機能を有効にせずに配置を運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M 0 、M 2 、M 5 、M 10 + クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

コマンドは、次の形式をとります。

db.adminCommand( {
setFeatureCompatibilityVersion: <version>,
writeConcern: { wtimeout: <timeout> }
} )

versionの値は次のとおりです。

バージョン
説明
"5.0"

MongoDB 5.0で利用可能 配置

MongoDB 4.4 と互換性のないデータを永続化する 5.0 の機能を有効にします。

"4.4"

MongoDB 4.4 および 5.0 の配置で利用可能

MongoDB 4.2と互換性のないデータを永続化する4.4機能を有効にします。

"4.2"

MongoDB 4.4 配置で利用可能

MongoDB 4.2と互換性のないデータを保持する4.4機能を無効にします。

任意

writeConcern は書込み保証 (write concern) の wtimeout の値をミリ秒単位で指定します。

  • プライマリが大多数のレプリカセット ノードからの確認を待機する時間です。時間内に確認応答が受信されない場合、操作は失敗します。

  • デフォルトは 60000 ミリ秒です。レプリカセットのセカンダリ ノードの遅延が wtimeout のデフォルトを超える場合は、時間を長くします。

注意

  • スタンドアロンの場合は、スタンドアロンの mongod インスタンスでコマンドを実行します。

  • レプリカセットの場合は、プライマリでコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。

  • シャーディングされたクラスターの場合は、mongos インスタンスでコマンドを実行します。

特定のバックグラウンド操作により、setFeatureCompatibilityVersion の実行が妨げられる可能性があります。実行中の操作を識別するには、currentOp を使用します。

最初の同期中に setFeatureCompatibilityVersion を起動した場合、oplog アプリケーション フェーズでエントリを繰り返すと、同期が失敗し、OplogOperationUnsupported エラー メッセージが表示される場合があります。操作フェーズで操作が繰り返されなくなるため、このあとの同期は成功します。

配置
featureCompatibilityVersion
新しい 5.0 配置の場合
"5.0"
"4.4" : setFeatureCompatibilityVersion"5.0" に設定するまで。

このコマンドは、内部システム コレクションへの書込みを実行する必要があります。何らかの理由でコマンドが正常に完了しない場合は、操作がべき等であるため、安全にコマンドを再試行できます。

アービタは admin.system.version コレクションを複製しません。このため、レプリカセットの fCV 値に関係なく、アービタは常にバイナリのダウングレード バージョンと同じ機能の互換性バージョンを使用します。

たとえば、MongoDB 5.0 クラスターのアービタの fCV 値は 4.4 です。

mongodインスタンスのfeatureCompatibilityVersionを表示するには、 mongodインスタンスで次のコマンドを実行します。

注意

mongosインスタンスでは操作は未定義です。 アクセス制御が有効になっているシャーディングされたクラスターの場合、シャード レプリカセットのノードに対して コマンドを実行するには、シャード ローカル ユーザーとしてノードに接続する必要があります。

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

このコマンドの出力は、 mongodの現在の状態に応じて、次のいずれかのようになります。

  • 配置にデフォルトのfeatureCompatibilityVersionがある場合、またはsetFeatureCompatibilityVersionコマンドが配置に対して正常に実行された場合、 featureCompatibilityVersionは次の形式になります。

    "featureCompatibilityVersion" : {
    "version" : <version>
    }
  • mongodが部分的にアップグレードまたはダウングレード状態にある場合、 featureCompatibilityVersionの形式は次のようになります。

    "featureCompatibilityVersion" : {
    "version" : <version> ,
    "targetVersion" : <target version>
    }

    たとえば、シャーディングされたクラスターに、setFeatureCompatibilityVersion mongosに対して コマンドを実行した場合にのみ読み取られるシャード レプリカセットがある場合、コマンドは失敗し、コンフィギュレーションサーバーのfeatureCompatibilityVersion にはtargetVersion フィールドが含まれます。 。

    または、 setFeatureCompatibilityVersionの実行中にレプリカセットが読み取り専用になった場合は、コマンドは失敗し、レプリカセットのfeatureCompatibilityVersionにはtargetVersionフィールドも含まれます。

MongoDB 4.4 と互換性のないデータを保持する 5.0 の機能を有効にするには、MongoDB 5.0 配置で機能の互換性を "5.0" に設定します。

注意

admin データベースに対して setFeatureCompatibilityVersion コマンドを実行します。

  • スタンドアロンの場合は、スタンドアロンの mongod インスタンスでコマンドを実行します。

  • レプリカセットの場合は、プライマリでコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。

  • シャーディングされたクラスターの場合は、mongos インスタンスでコマンドを実行します。

db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )

MongoDB 4.4 と互換性のないデータを保持する 5.0 の機能を無効にするには、MongoDB 5.0 配置で機能の互換性を "4.4" に設定します。

注意

admin データベースに対して setFeatureCompatibilityVersion コマンドを実行します。

  • スタンドアロンの場合は、スタンドアロンの mongod インスタンスでコマンドを実行します。

  • レプリカセットの場合は、プライマリでコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。

  • シャーディングされたクラスターの場合は、mongos インスタンスでコマンドを実行します。

  • "4.4" featureCompatibilityVersion は、MongoDB 4.4 および MongoDB 5.0 の配置でのみサポートされます。

db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )

MongoDB 5.0 から MongoDB 4.4 へのダウングレード プロセスの一部として実行する場合には、4.4 と互換性のないすべての永続機能も削除する必要があります。適切なダウングレード手順を参照してください。

次の例では、任意の書込み保証 (write concern) の wtimeout フィールドを 5000(5 秒)に設定しています。

注意

admin データベースに対して setFeatureCompatibilityVersion コマンドを実行します。

  • スタンドアロンの場合は、スタンドアロンの mongod インスタンスでコマンドを実行します。

  • レプリカセットの場合は、プライマリでコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。

  • シャーディングされたクラスターの場合は、mongos インスタンスでコマンドを実行します。

db.adminCommand( {
setFeatureCompatibilityVersion: "5.0",
writeConcern: { wtimeout: 5000 }
} )

戻る

setAuditConfig