Mongo怎么限制每个分组下返回的文档数?

我现在有一个contact集合,代表所有联系人。现在按照每个联系人的首字母分组,每个首字母下的联系人限制在5个以内。举个例子吧:
这个一个联系人表:
Kobe
Kevin
Kolon
Kaidi
Kaisin
Kama
Branyt
Bolon
Boo
我要得到的效果是这样的,以A开头的联系人有六个我只能返回5个,以B开头的联系人有3个全部会被返回。返回结果如下
K:
Kobe
Kevin
Kolon
Kaidi
Kaisin
B:
Branyt
Bolon
Boo
采用mongo的aggregate的写法,或者其他写法也行

这个问题还是我自己来吧,我后来的解决方案是这样的。先查询出所有的首字母的集合,然后分别用每个首字母去查询出前五个联系人。最终得到的一条记录
是这样的一个首字母字段initial后面跟着首字母。一个contacts字段后面跟着一个数组,数组中的元素是每个联系人的名字。然后把他们放在一个列表中返回就ok啦

 $substr

处理开头的字符,然后group分组

 {$slice: 5} 

去前5个元素

你的问题不算复杂,可以换个例子来参考一下,应该有帮助:http://forum.foxera.com/mongodb/topic/690/mongodb%E6%9F%A5%E8%AF%A2%E7%BB%93%E6%9E%9C%E9%9B%86%E5%88%86%E7%BB%84%E5%90%8E%E5%A6%82%E4%BD%95%E9%99%90%E5%88%B6%E6%AF%8F%E4%B8%AA%E7%BB%84%E8%BF%94%E5%9B%9E%E7%9A%84%E6%96%87%E6%A1%A3%E6%95%B0?un=xxx