メインの「タイプ」に関連するいくつかの異なるドキュメント「タイプ」を持つcouchDBデータベースがあります。
一般的なブログ/投稿の例では、主なタイプはブログ投稿であり、その他はコメントです(ただし、コメントには3つの異なるタイプがあります。
すべてのタイプに日付がありますが、ブログの投稿を日付で並べ替えたいのですが、コメントからもすべてのデータを返します。私は次のようなキーを生成するemitを書くことができます:
[date, postID, docTypeNumber]
ここで、docTypeNumberは投稿の場合は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]
もちろん、これを発行すると、すべてのnullが一緒にソートされます。nullを無視し、配列内のseccond項目でグループ化する方法はありますが、nullでない場合は、最初の項目で並べ替えますか?
または、並べ替えを機能させるために、投稿日を記録するためにすべてのドキュメントを取得する必要がありますか?
私はリストを使いたくありません。リストは遅すぎて、潜在的に大きなデータセットを扱っています。