带有?limit = 0的CouchDB API查询返回一行 - 错误或功能?

时间:2014-03-10 00:20:32

标签: api couchdb api-design

我使用CouchDB 1.5.0并注意到一件奇怪的事情:

当我查询某些API操作时,例如:

curl -X GET "http://localhost:5984/mydb/_changes?limit=1"

我与limit=1以及limit=0limit=-55获得了相同的结果。在所有情况下,从列表开头都是一行。

虽然,PostgreSQL返回:

  • LIMIT 0
  • 时归零
  • ERROR: LIMIT must not be negative
  • 时的消息LIMIT -55

我的问题主要是关于API设计。我想知道你的意见。

这是一个缺陷,也许是好的/可接受的做法?

1 个答案:

答案 0 :(得分:1)

这就是_changes api的设计方式。如果未指定feed的类型,即long-poll,continuous等,则默认为返回单个结果数组中所有更改的列表。

如果您想逐行输出数据库中的更改结果,请在网址中指定Feed的类型,如此

curl -X GET "http://localhost:5984/mydb/_changes?feed=continuous"

另一点需要注意的是,在_changes api中使用0与在limit参数中使用1具有相同的效果。