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

シャーディングされたクラスターの運用上の制限

項目一覧

  • シャーディング操作上の制限

$whereは、 $where関数からdbオブジェクトへの参照を許可していません。 これは、シャーディングされていないコレクションでは珍しいことです。

geoSearchコマンドはシャーディングされた環境ではサポートされていません。

MongoDB 5.0 以前のバージョンでは、$lookupステージのfrom パラメーターでシャーディングされたコレクションを指定できません。

multi: falseまたはjustOneオプションを指定するシャーディングされたコレクションに対してupdateOne()およびdeleteOne()操作を使用するには以下に従ってください。

  • 1つのシャードのみをターゲットにする場合は、クエリ仕様で部分的なシャードキーを使用するか、

  • クエリ仕様でシャードキーまたは _id フィールドを指定できます。

シャーディングされたコレクションでfindOneAndUpdate()を使用するには、クエリフィルターにシャードキーの等価条件が含まれている必要があり、次のいずれかの形式でキーと値を比較する必要があります。

{ key: value }
{ key: { $eq: value } }

MongoDB は、ユニークインデックスにインデックスのプレフィックスとして完全なシャードキーが含まれている場合を除き、シャード間のユニークインデックスをサポートしていません。このような状況では、MongoDB は単一のフィールドではなく、キー全体に対して一意性を強制します。

Tip

次を参照してください。

代替アプローチについては、任意のフィールドに対するユニークな制約を参照してください。

MongoDB はシャード間で一貫したインデックスを保証しません。 addShard操作または チャンク移行 中のインデックス作成は、新しいシャードに伝達されない可能性があります。

シャーディングされたクラスターの整合性のあるインデックスを確認するには、 checkMetadataConsistencyコマンドを使用します。

db.runCommand( {
checkMetadataConsistency: 1,
checkIndexes: true
} )

戻る

zonesRangeOVERlap