我有一组文档(名为posts),每个文档都包含一个名为category的字段。 每个类别都是类别集合的一部分。有一个固定的数字(比如15)。如何在一个MongoDB查询中从10个类别中获取最新的10篇文章?
如何获取每个类别的最后10个tldrs?
我有一组文档(名为posts),每个文档都包含一个名为category的字段。 每个类别都是类别集合的一部分。有一个固定的数字(比如15)。如何在一个MongoDB查询中从10个类别中获取最新的10篇文章?
如何获取每个类别的最后10个tldrs?
另一个解决方案是设置在实际上是结果的一部分,就像每个职位的“标志”:
topTen: true
定义上标志稀疏索引会给最快的查询 - 在价格当然,维护该标志的:
有关稀疏i指数,请参阅http://docs.mongodb.org/manual/core/indexes/#index-type-sparse
感谢您的洞察力的答案 – stanm87 2013-04-21 14:13:16
也许最好是先获取所有类别的列表,然后为每个类别分别查询10个最新帖子。
您如何定义“最后10位” - 您是否在文档上保留一个日期,我假设,然后您想要10个“最近期”? – 2013-03-20 16:58:05
是的,我有一个createdAt字段,记录时间戳,最后我的意思是最新的,抱歉不清楚我编辑的问题。 – stanm87 2013-03-22 13:12:28
在单个查询中没有办法做到这一点 - 您可能需要mapreduce - 这需要如何“高性能”?以及“真正的时间”? – 2013-03-22 19:00:19