私はmongodbにコレクションを持っています:ユーザーコレクション
{
_id:xxxxxx,
friendList:[12345,67899,57889],//list of ids of friends
readBooks:[bookid1,bookid2],
wanttoread:[bookid5,bookid6]
}
友達コレクション
{ _id:12345,
readBooks:[bookid3,bookid5],
wantToread:[bookid1]}
books
ID の本の名前と詳細を示す別のコレクションがあります。readBook
またはに基づいて、mongodbでこれをシャーディングしたいと思いwanttoread
ます。それらが同じ本を持っている場合、データは同じシャードに移動します。
これについて検索しましたが、配列に基づいてシャードする方法が見つかりませんでした。私はそれを行うことができる方法はありますか?または、次のような別のコレクションを作成する必要がありますか
{id: userid or friend id,bookId:bookid}
bookId に基づくシャード。