javascript - CouchDB 中的过滤和排序 View ?

标签 javascript json couchdb

我在 CouchDB 中有一些带有 timestamp 字段和 group 字段的项目。我使用此 View 函数来获取 group == "foo"的所有项目的列表:

{
  "map" : "function(doc) { emit(doc.group, doc); }"
}

http://localhost:5984/my_database/_temp_view?key="foo"

现在我想让输出按 timestamp 字段排序。我怎么做?基本上,我想要与此 SQL 查询等效的内容:

从某个表中选择*,其中组=?按时间戳排序

最佳答案

将时间戳作为第二列发出:

function(doc) { emit([doc.group,doc.timestamp]); } 

然后,使用以下参数进行查询:

view?startkey=["foo"]&endkey=["foo",""]

我假设您的时间戳是数字,而不是字符串。阅读 this了解数字时间戳如何在 ["foo"]["foo",""] 之间排序。

此外,不要发出 doc 作为值,它会占用大量存储空间。如果您确实需要该文档,请在查询中使用 include_docs=true

关于javascript - CouchDB 中的过滤和排序 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390583/

相关文章:

Javascript XML 对象 - 未定义

javascript - JSON.解析: unexpected character error

javascript -\getting 附加在 JSON 响应中。我应该如何删除这个

javascript - 将 Homebrew 软件依赖项添加到 npm 包

couchdb - 在 CouchDB 中创建普通用户

database - 高性能网络服务器设计

javascript - DescendantOf() 在 ie 中导致 js 错误

JavaScript:在 requestAnimationFrame 循环中使用 cancelAnimationFrame

javascript - PouchDB:创建用于获取唯一键的设计文档

javascript - 如何在 Bootstrap 导航栏上的 Firefox 中单击时删除白色圆圈框