mongodb のデータベースに「ユーザー」コレクションがあります。シャーディングを使用します。
標準の _id 以外に、インデックスを付けて一意にする必要があるフィールドが他に 3 つあります: ユーザー名、電子メール、およびアカウント番号です。これら 3 つのフィールドすべてがすべてのユーザー ドキュメントに存在するとは限りません。場合によっては、存在しないこともあります。
ユーザーはこれらのフィールドのいずれかによって頻繁に検索されるため、フィールドにインデックスを付けたいと思います。これは要件であり、このロジックをクライアント側で処理したくないため、フィールドを一意にする必要があります。
他のデータベースと同様に、mongodb にも制限があることは理解していますが、これは Web アプリケーションのかなり一般的な設定であるため、解決策があることを願っています。
このシナリオのエレガントなソリューションはありますか?
この質問にとって重要かどうかはわかりませんが (質問はデータベース構造に関係しているため)、公式の mongodb C# ドライバーを使用しています。