{chdb>可能已尝试使用cdb}的格式检索文档。在
我希望能够使用couchdb python中的视图检索一系列日期。我可以用curl让它工作。E、 g.:
curl -X GET mylocation:5984/small/_design/Common/_view/date?startkey='"2012%2006%2004"'\&endkey='"2012%2006%2006"'
但是,在Python中使用view方法,例如
^{pr2}$一事无成。我试过:
单独使用startkey——有效
单独使用Endkey——不起作用。
将键更改为复合键形式:“yy”、“mm”、“dd”
然后尝试按如下方式检索它们:
a=ui.db.view(docname, startkey='\["12","06","04"\]', endkey='\["12","06","06"\]')
a.rows
同样,startkey本身是有效的,没有使用endkey。这在curl中也正常工作,例如:
curl -X GET mylocation:5984/small/_design/Common/_view/date?startkey='\["12","06","04"\]'&endkey='\["12","06","06"\]'
然后,我将键改为整数而不是字符串——同样,任何使用startkey的都可以,任何使用endkey的都不行。在
最后,我将密钥更改为整数1-->10,但仍然无法获取endkey来执行任何操作。在
我使用的是couchdb pythonversion0.8。我正在调试eric4内部的这个(可能是这个问题吗?)在
您不需要在视图调用中将startkey/endkey查询参数显式地编码为JSON。默认情况下,CouchDB要求它们具有有效的JSON值。E、 g.如果您的视图以[“yy”,“mm”,“dd”]的形式返回复合键,那么您的视图请求将是下一个
a = ui.db.view(docname, startkey=["12","06","04"], endkey=["12","06","06"])
注意,startkey和endkey有列表类型的值-与view函数键相同。在
关于curl请求:它不等同于数据库视图()请求:单引号充当shell字符串转义,但它们不会随请求一起传递。所以curl对CouchDB的实际请求是
mylocation:5984/small/_design/Common/_view/date?startkey=["12","06","04"]&endkey=["12","06","06"]
除非有无效的\u json错误响应,因为json字符串应该用双引号引起来。在
无论如何,您可以查看CouchDB日志(对于您的情况,信息级别已经足够了)来比较来自Python程序和curl的CouchDB的实际请求-它们对于您的情况是不同的。在
相关问题 更多 >
编程相关推荐