1

私はcouchdbを初めて使用し、単純なmysqlステートメントに基づいてビューを作成したいと考えています。このドキュメントを見つけました: http://guide.couchdb.org/draft/cookbook.htmlしかし、悲しいことに、すべてのユースケースが含まれているわけではありません。

私のMySQLステートメント:

SELECT `title`, `id`, `author`, `date`, `text` FROM `news` WHERE `date`<=NOW() AND `author`='22' ORDER BY `date` DESC LIMIT 20,10;

どうもありがとうございました!

4

1 に答える 1

1

次の map 関数を使用してビューを作成する必要があります。

function(doc) {
    emit([doc.author, doc.date], {
            "title": doc.title, 
            "author": doc.author, 
            "date": doc.date, 
            "text": doc.text});
}

これで、次の URL を使用してビューをクエリできます。

http://127.0.0.1:5984/dbname/_design/design_doc_name/_view/viewname?startkey=[22, "2010-11-12T10:20:30"]&endkey=[22, {}]&descending=true&skip=20&limit=10

開始キーの日付は、現在の日時でなければなりません。NOW()couchdb でエミュレートする方法はありません。

couchdb のビューは、キーでソートされたキーと値のペアの単なるリストであり、そのリストの範囲にアクセスする方法を提供します。範囲クエリを使用して必要な結果を取得できるように、ビューを設計する必要があります。

于 2010-11-12T12:30:45.463 に答える