Cosmos Dbには2つの別々のドキュメントセットがあります.1つはユーザーとその役割があり、特定のジョブへのアクセス許可を格納する2つ目のドキュメントセットです。Azure Cosmos Dbでページングを実装
現在、ジョブリストには制限がなく、一定期間にわたって大幅に増加する可能性があります。複数のドキュメントでgroup byが許可されていないため、役割や特定の仕事に基づいてすべてのユーザーを取得する方法を実装するための最良の戦略を見つけようとしています。
1)解決策1 - ユーザーデータとジョブデータをサブ文書として大きな長い文書に保管し、照会や継続トークンに役立ちます。
2)ソリューション2 - 1つのドキュメントと複数のジョブドキュメントでユーザーとロールのデータを保持し、クライアント側で個別にクエリを実行し、そこでクエリを実行します。この場合、意味のある結果を得るために完全なデータを最初に照会する必要があるため、継続トークンのサポートは失われます。
3)解決策3 - 各ジョブ文書でロールデータを保持し、直接それを照会します。この場合、ジョブに基づいてユーザー数を取得し、単一のクエリ/ユーザーに情報を取得させます。
誰かが、より良い解決策を提案したり、上記3から選択して、進路を提案することはできますか?
CosmosDb内の新しいグラフ機能を調べることをお勧めします。これらの種類のクエリをもっと簡単に扱うことができます。 –
提案のためにJesseに感謝します。私はグラフDbを見てきましたが、問題は私たちのデータがSQL(Document Db)にあり、グラフを持つために別のアカウントを作成する必要があることです。 – user1932923
'誰にでもより良い解決策を提案することができますか?3を上回ってピックアップして進路を提案できますか? 'これらの解決策を実装する際に詳細な問題はありますか? –