これは実際にはPerlドライバーの問題ではありません..シャーディングの特性に関連しています。 MongoDBは、作成時に単一のシャードにあるドキュメント間でのみ一意性を適用できるため、デフォルトのインデックスは一意性を必要としません。
MongoDB:シャーディングの設定 ドキュメントには、次のような具体的な言及があります:
-
コレクションをシャードするときは、シャードキーを指定する必要があります。コレクションにデータがある場合、mongoでは事前にインデックスを作成する必要があります(チャンク処理が高速化されます)。それ以外の場合は、インデックスが自動的に作成されます。
-
{unique:true}オプションを使用して、一意のインデックスがシャードキーのプレフィックスである限り、基になるインデックスが一意性を強制するようにすることができます。
-
「unique:true」オプションを使用しない場合、シャードキーは一意である必要はありません。