我有一个 couchDB 数据库,它有几个不同的文档“类型”,它们都与一个主要的“类型”相关。
在常见的博客/文章示例中,主要类型是博客文章,其他类型是评论(尽管有 3 种不同类型的评论。
所有类型都有日期,但是,我希望按日期对博客文章进行排序,但也返回评论中的所有数据。我可以编写一个生成键的发射器,如下所示:
[date, postID, docTypeNumber]
其中 docTypeNumber 对于 post 为 1,对于不同的评论文档类型为 > 1。
例如:
["2013-03-01", 101, 1]
[null, 101, 2]
[null, 101, 2]
[null, 101, 3]
["2013-03-02", 101, 1]
[null, 102, 2]
[null, 102, 3]
当然,如果我发出这个,所有的空值都会被排序在一起。有没有办法忽略空值,并按数组中的第二个项目对它们进行分组,但如果它不为空,则按第一个对它们进行排序?
或者,我是否必须获取所有文件以记录发布日期才能进行排序?
我不想使用列表,它们太慢了,而且我正在处理一个可能很大的数据集。