0

私は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]}

booksID の本の名前と詳細を示す別のコレクションがあります。readBookまたはに基づいて、mongodbでこれをシャーディングしたいと思いwanttoreadます。それらが同じ本を持っている場合、データは同じシャードに移動します。

これについて検索しましたが、配列に基づいてシャードする方法が見つかりませんでした。私はそれを行うことができる方法はありますか?または、次のような別のコレクションを作成する必要がありますか

 {id: userid or friend id,bookId:bookid}

bookId に基づくシャード。

4

1 に答える 1