couchdb 按值、限制和按时间顺序获取
Posted
技术标签:
【中文标题】couchdb 按值、限制和按时间顺序获取【英文标题】:couchdb get by value, limit, and order by time 【发布时间】:2012-03-10 08:40:48 【问题描述】:我是 CouchDB 的新手,我正在尝试获取应用中用户的最后 50 个最新条目。 我创建了一个视图,用于提取条目的文档,我可以使用 key 参数仅获取特定用户的文档,并使用限制查询仅获取 50 个条目。
但是,我想通过“时间戳”字段(存储输入时的新 Date().getTime())对文档进行排序,以确保我只获得最新的条目.这在 CouchDB 中是否可行,如果可以,如何实现?
【问题讨论】:
【参考方案1】:您可以通过发出更复杂的键(例如 [用户名,日期时间] 形式的数组)来实现这一点(至少在您的数据中没有任何未来日期的情况下)。 然后创建一个视图,使用 startkey 提取文档,例如 ['johndoe',1331388874195] 以降序排列,限制为 50。日期显然应该是当前日期。 CouchDB 的collation 将确保结果首先按用户排序,然后按日期排序。
【讨论】:
谢谢!效果很好:) 我不知道你可以使用数组作为键,知道非常有用!再次感谢您! oops,注意到一个小错误。您还需要包含 ['johndoe', 0] 的 endkey,以防止 couchdb 从以 'johndoe' 开头的用户名(如 'johndoe59)返回帖子'。以上是关于couchdb 按值、限制和按时间顺序获取的主要内容,如果未能解决你的问题,请参考以下文章