javascript - CouchDB 映射/归约功能可按日期显示用户的有限结果

标签 javascript mapreduce couchdb reduce nosql

我是许多可能很难过渡到 NoSQL 世界的 SQL 用户之一,我有一个场景,我的数据库中有大量条目,但我只想获取最新的条目,这很简单,但它应该全部针对同一用户。我确信这很简单,但是经过大量的尝试和错误却没有一个好的解决方案,我向你寻求帮助!

所以,我的 key 看起来像这样..(因为我认为这就是正确的方法!)

emit([doc.eventTime, doc.userId], doc);

我的问题是,我如何才能只从 CouchDB 获取最后 10 个结果?对于那个特定用户。我之所以将时间作为键,是因为我认为这是对结果进行降序排序的最简单方法,例如,我想要最后十个操作。

如果我必须在 SQL 中执行此操作,我会这样做,给您一个确切的示例。

SELECT * FROM table WHERE userId = ID ORDER BY eventTime DESC LIMIT 10

我希望有人能帮忙:-)

最佳答案

将 key 更改为:

emit([doc.userId, doc.eventTime], null);

查询方式:

view?descending=true&startkey=[<user id>,{}]&endkey=[<user id>]&limit=10

关于javascript - CouchDB 映射/归约功能可按日期显示用户的有限结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23897211/

相关文章:

javascript - 如何获得相对于当前帧的结束拖动位置?

hadoop - Hadoop 中的二次排序如何工作?

login - 如何获取 CouchDB 用户名和密码

couchdb - 沙发数据库设计

javascript - jQuery Datatables 正在返回 html

javascript - Serlvet的request.getParameter和onclick使用

hadoop - 为什么分割点在 Hadoop 总顺序分区器上乱序?

CouchDB 复制错误 : random fail with error "checkpoint_commit_failure"

javascript - 是否有抑制 "This is a non-secure form"消息的编程解决方案,或许使用 JavaScript?

mongodb - 如何在pymongo中使用map-reduce获取字段的最大值文档?