我使用CouchDB 1.5.0并注意到一件奇怪的事情:
当我查询某些API操作时,例如:
curl -X GET "http://localhost:5984/mydb/_changes?limit=1"
我与limit=1
以及limit=0
和limit=-55
获得了相同的结果。在所有情况下,从列表开头都是一行。
虽然,PostgreSQL返回:
LIMIT 0
ERROR: LIMIT must not be negative
LIMIT -55
我的问题主要是关于API设计。我想知道你的意见。
这是一个缺陷,也许是好的/可接受的做法?
答案 0 :(得分:1)
这就是_changes
api的设计方式。如果未指定feed的类型,即long-poll,continuous等,则默认为返回单个结果数组中所有更改的列表。
如果您想逐行输出数据库中的更改结果,请在网址中指定Feed的类型,如此
curl -X GET "http://localhost:5984/mydb/_changes?feed=continuous"
另一点需要注意的是,在_changes api中使用0与在limit参数中使用1具有相同的效果。