【问题标题】:Sharding on mongodb在 mongodb 上进行分片
【发布时间】:2017-11-23 01:10:37
【问题描述】:

我在 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 的一本书的名称和详细信息。 我想基于readBookwanttoread 在mongodb 中为此进行分片。如果他们拥有相同的书籍,则数据将进入同一个分片。

我对此进行了搜索,但找不到基于数组进行分片的方法。有什么办法可以做到吗?还是我需要创建另一个集合,例如

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

和基于 bookId 的分片。

【问题讨论】:

  • 你不能在atm做多键分片索引

标签: mongodb


【解决方案1】:

您只能使用一个分片键,并且您选择一个后不能更改它。

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

MongoDB Sharding

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多