Java mongodb集合的适当shrad密钥

Java mongodb集合的适当shrad密钥,java,database,mongodb,key,sharding,Java,Database,Mongodb,Key,Sharding,我正在开发一个应用程序,使用mogo db存储电影和用户数据,每个用户都可以看到用户对特定电影的评论,更准确地说,该应用程序将显示该电影最近的10条评论,然后用户可以通过按下按钮等方式加载更多的10条评论(查询中有排序和跳过聚合)。我有6台(机器)服务器,我想使用复制和共享来提高读/写操作的性能。特别是,我希望在可用碎片上分发注释,以加快加载注释查询(它对最近的10条注释进行排序,然后对最近的20条注释进行排序,依此类推)。注释集合的每个文档都具有以下属性: _id:ObjectId(""),

我正在开发一个应用程序,使用mogo db存储电影和用户数据,每个用户都可以看到用户对特定电影的评论,更准确地说,该应用程序将显示该电影最近的10条评论,然后用户可以通过按下按钮等方式加载更多的10条评论(查询中有排序和跳过聚合)。我有6台(机器)服务器,我想使用复制和共享来提高读/写操作的性能。特别是,我希望在可用碎片上分发注释,以加快加载注释查询(它对最近的10条注释进行排序,然后对最近的20条注释进行排序,依此类推)。注释集合的每个文档都具有以下属性:

_id:ObjectId(""),
film_id: Object_id(""),
author:"",
text:"",
date:,
type:"", //the source of the comment (IMDB,Mymovies)
comment_points:,//how much likes the comment has
user_rating:
我读过一些关于这个主题的文章,我推断必须选择一个键(高基数、低频率、非单调值)。我的问题是:在我的例子中,什么是最好的切分键? 我倾向于选择film_id来加速读取操作,但我担心这会影响mongodb平衡器的工作