2つのmongodbシャードコレクションがあると想像してみましょう。いいねとコメントです。
両方のコレクションにはシャーディングがあり、どちらのコレクションにもシャーディングされたキーとしてuserIdがあります。
好きなコレクションは膨大で、コメントのコレクションは小さいと想像してみてください。私には合計10個のシャードがあります。シャードAからシャードGに名前を付けましょう。
特定のユーザーのいいね!がシャードAにある場合、そのユーザーのコメントもシャードAにあると想定できますか?
したがって、私が達成したいのは、特定のユーザーのデータを同じシャードに入れることです。他のユーザーのいいね!はシャードCにある可能性があり、その場合、彼のコメントもシャードCにあるはずです。
MongoDBを構成する可能性はありますか? (またはそれはデフォルトでどのように機能するか?)
MongoDBを構成する可能性はありますか? (またはそれはデフォルトでどのように機能するか?)
はい。データの場所を制御する場合は、Zonesを使用する必要があります。それを行う方法のより良い説明については、このリンクをたどってください https://docs.mongodb.com/manual/tutorial/sharding-segmenting-shards/ 。