欠落しているシャードキー フィールドの設定
項目一覧
シャードキー フィールドがない場合は、シャードキー フィールドを null
に設定できます。 欠落しているシャードキー フィールドにnull
以外の値を設定する場合は、「 ドキュメントのシャードキー値の変更 」を参照してください。
更新を実行するには、 mongos
で次の操作を使用できます。
コマンド | 方式 | 説明 |
---|---|---|
update with multi: true |
| |
update with multi: false |
| |
| ||
|
例
location
フィールドでシャーディングされているsales
コレクションについて考えてみましょう。 コレクション内の一部のドキュメントには、 location
フィールドがありません。 欠落しているフィールドは、フィールドの null 値と同じとみなされます。 これらのフィールドを明示的にnull
に設定するには、次のコマンドを実行します。
db.sales.updateOne( { _id: 12345, location: null }, { $set: { location: null } } )
欠落しているシャードキー フィールドをdb.collection.updateOne()
または 1 つのドキュメントのみを明示的に更新する別のメソッドで設定する場合、更新は次のいずれかの要件を満たしている必要があります。
クエリのフィルターに、クエリ内の完全なシャードキーに対する等価条件が含まれている
クエリのフィルターに、_id の完全一致が含まれている
単一のシャードを対象としている更新