CouchDB map/reduce函数按日期显示用户的有限结果
CouchDB map/reduce function to show limited results for a user by date
我是许多可能很难过渡到NoSQL世界的SQL用户之一,我有一个场景,我的数据库中有大量条目,但我只想获得最近的条目,这很容易,但它应该都是为同一个用户。我相信这很简单,但经过大量的试验和错误,没有一个好的解决方案,我请求你的帮助!
所以,我的钥匙是这样的…(因为我认为这是正确的方法!)
emit([doc.eventTime, doc.userId], doc);
我的问题是,我如何才能从CouchDB获得最后10个结果?对于那个特定的用户。我之所以把时间作为关键字,是因为我认为这是降序排序结果的最简单方法,例如,我想要最后十个动作。
如果我必须在SQL中这样做,我会这样做,给你一个确切的例子。
SELECT * FROM table WHERE userId = ID ORDER BY eventTime DESC LIMIT 10
我希望有人在那里可以帮助:-)
将密钥更改为:
emit([doc.userId, doc.eventTime], null);
查询:view?descending=true&startkey=[<user id>,{}]&endkey=[<user id>]&limit=10
那么在视图中添加这样的内容…
"test": {
"map": "function(doc) { key = doc.userId; value = {'time': doc.eventTime, 'userid': doc.userId}; emit(key, value)}"
}
然后调用视图…(假设userId = "123"
http://192.168.xxx.xxx: 5984/dbname/_design/docname/_view/测试?关键= " 123 ",限制= 10
你将需要添加一些逻辑到地图,以获得最近的,因为我不相信秩序以任何方式保存。
相关文章:
- 读取一个本地文件,编码为base64,我想给用户一个将结果保存到文件的选项
- 当用户移动到其他页面时,如何显示AJAX调用结果
- Jquery XML搜索并显示具有特定用户输入条件的结果
- 接受用户输入,与JSON数据匹配,并以javascript显示结果
- VBScript在目录中查找用户;返回结果(已找到或未找到)
- 使用 Mocha 在 NodeJS 和 MongoDB 中测试用户模型时没有结果
- 更改在带有图像的测验中向用户显示的结果
- 如果搜索框位于_SiteLayout页(在页眉 DIV 中),如何将搜索结果返回给用户
- 节点.js:为HTTP代理选择正确的架构,为每个用户下载许多文件,并将结果作为存档返回
- 无法使用钛云解析用户查询结果
- 你将如何打印结果;计算机获胜”;或“;用户获胜”;
- 安全地向用户隐藏jQuery结果
- 在用户提交结果时,将日期和时间保存到访问文件中
- jquery/ajax以用户输入为条件运行php查询,然后显示查询结果而不刷新页面
- Meteor:能够登录用户从他们的搜索结果中删除文档
- 如何让用户搜索在栏下动态显示结果
- 我们怎么能看到“;上一页结果“;如果用户从一个页面转到另一个页面&另一个
- 将用户输入的日期转换为 JSON 毫米/日/年格式,并将其显示为结果
- 使用mongoose在mongo中查找用户,并将结果返回到JSON
- PHP, MYSQL + javascript?生成基于三个用户SELECT输入的结果(price)