【问题标题】:CouchDB - Querying array key value for first key element onlyCouchDB - 仅查询第一个键元素的数组键值
【发布时间】:2012-07-24 02:11:38
【问题描述】:

我有一个使用数组键值设置的 couchdb 视图,格式为:

[articleId, -timestamp]

我想查询具有相同文章 ID 的所有条目。所有时间戳都是可接受的。

现在我正在使用这样的查询:

?startkey=["A697CA3027682D5JSSC",-9999999999999]&endkey=["A697CA3027682D5JSSC",0]

但我想要一些更简单的东西。

有没有一种简单的方法来完全通配第二个关键元素?最简单的语法是什么?

【问题讨论】:

  • 相信您只需?startkey=["A697CA3027682D5JSSC"]&endkey=["A697CA3027682D5JSSC",{}]

标签: view couchdb


【解决方案1】:

首先,正如评论指出的那样,确实有一个特殊的值{} 排序在任何值之后,因此您的查询变为:

startkey=["target ID"]&endkey=["target ID",{}]

这相当于通配符匹配。

附带说明,无需通过发出负时间戳来反转 map 函数中的顺序,您可以反转顺序作为视图调用的选项(您的开始和结束键将被交换)。

startkey=["target ID",{}]&endkey=["target ID"]&descending=true

【讨论】:

  • 优秀。我一直在寻找这个,但我想我的术语并不准确。非常感谢:)
  • 你在哪里找到的?效果很好,但上周我一直在搜索文档,这是我第一次看到提到的 {}。
  • @MBillau 太长了,所以我不记得了。我认为这与{} 的字母顺序有关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-05
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 2012-05-31
相关资源
最近更新 更多