Docs Menu

sh.enableSharding()

sh.enableSharding(database, primaryShard)

注意

バージョン 6.0 での変更

MongoDB 6.0 以降では、コレクションを シャード するためにこのメソッドは必須ではあり ません 。

データベースを明示的に作成します。 mongoshメソッドsh.shardCollection()を使用してデータベース上のコレクションをシャーディングします。 mongoshメソッドsh.enableSharding()enableShardingコマンドをラップします。

重要

mongosh メソッド

このページでは、mongosh メソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません

データベースコマンドについては、enableSharding コマンドを参照してください。

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

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

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

重要

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

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

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

sh.enableSharding()の形式は次のとおりです。

sh.enableSharding(
<database>,
<primary shard> // Optional.
)

sh.enableSharding()メソッドでは、次のパラメーターが使われます。

Parameter
タイプ
説明

文字列

作成するデータベースの名前。

文字列

任意。 データベースのプライマリシャード。プライマリシャードには、このデータベースのシャーディングされていないコレクションが含まれています。 一般に、プライマリ シャードを明示的に指定するのではなく、バランサーによってプライマリ シャードが選択されるようにすることをお勧めします。

警告

Tip

一般に、プライマリシャードを指定する必要はありません。 バランサーが代わりにプライマリ シャードを選択できるようにします。

mongos"majority"enableShardingsh.enableSharding()は、 コマンドとそのヘルパー に使用します。

一般に、コマンドでプライマリシャードを指定する必要はありません。 代わりに、バランサーでプライマリシャードを選択できるようにします。

ただし、データベースにプライマリシャードを指定する場合、かつデータベースで別のプライマリシャードによるシャーディングがすでに有効になっている場合は、操作はエラーを返し、データベースのプライマリシャードは以前のままになります。 データベースのプライマリシャードを変更するには、代わりにmovePrimaryコマンドを使用します。

次の例では、 mongosから実行すると、 shardTestデータベースが明示的に作成されます。

sh.enableSharding("shardTest")

確認するには、 sh.status()を実行します。