首页 文章

对mongodb进行分片

提问于
浏览
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]}

我有另一个集合 books ,它给出了id的书名和详细信息 . 我想在mongodb中为此进行分片,基于 readBookwanttoread . 如果它们具有相同的书籍,则数据将转到相同的分片 .

我搜索了这个,但我找不到基于数组的分片方法 . 有什么办法可以吗?或者我是否需要创建另一个集合

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

和基于bookId的分片 .

1 回答

  • 0

    您只能使用一个分片键,并且在选择一个分片后无法更改它 .

    我建议对具有最大基数(最大文档数)的collection-id进行分片 .

    MongoDB Sharding

相关问题