私はcouchdbを新しくしています。私はdocsとSOの投稿を見ましたが、何らかの理由でこの単純なクエリがまだ私を逃しています。ソート順を維持しながら日付でCouchdbを照会
SELECT TOP 10 * FROM x WHERE DATE BETWEEN startdate AND enddate ORDER BY score
UPDATE:それはを行うことはできません。このタイプのデータは のデータを取得するためには、数百万のレコード(いくつかの フィールド)をソファから取り除き、フィルタリング、並べ替え、または制限を行い、希望の結果を得る必要があります。私は オリジナルの解決策_changesを使って、そのクエリを実行するために必要なデータを他の場所に取り込んで保存することに戻ります。ここで
私更新ビュー(ドミニクのおかげで)です:私がする必要がどのような
emit([d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate(), score], doc.name);
は次のとおりです。
- が常に並べ替えによって
- 必要に応じてフィルタを降順スコア期間(たとえば、TODAYのみ)
- 制限数x
更新:ドミニクのおかげで、私ははるかに近いだ - まだ 問題を持ちます。
?startkey=[2017,1,13,{}]&endkey=[2017,1,10]&descending=true&limit=10&include_docs=true
これは
ドミニク、ありがとう、私は今これを試しています。 私は実際にドキュメントを保管していませんでしたが、新しくサブセット(8つの小道具を含む)を作成しました(つまり、{Name:doc.prop.name、...} - include_docs =あなたの頭の上から知っているように私は測定することができますが、音が聞こえます:-) – schmoopy
また、その制限を見つけた後で私の質問を更新しました – schmoopy
私はあまりにもすぐに話をしましたが、私は限界を追加すると、右の並べ替えのため正しく動作しません。私は私の質問を更新しました。 100回目のコメント、すべての更新で申し訳ありません) – schmoopy