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

您需要使用以下地图功能编写视图。

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 回答