2010-11-12 70 views

回答

1

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

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

现在你可以使用以下网址查询视图:

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 

在开始键的日期必须是当前日期时间。在couchdb中没有办法效仿NOW()

couchdb中的视图只是按键排序的键值对列表,它提供了一种访问该列表范围的方法。您需要设计您的视图,以便您可以使用范围查询来获取所需的结果。

+0

这里有个有趣的地方是你实现了'LIMIT 20',而不是'LIMIT 20,10'。 – 2010-11-12 17:54:33

+0

感谢您的回复,但如何才能将此偏移限制在最低限度? – heuri 2010-11-12 18:44:27

+0

你不能(至少,不合理的表现)。 http://stackoverflow.com/questions/312163/pagination-in-couchdb – 2010-11-12 20:36:12