在couchbase官方文档中 - http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-view.html
有一个使用视图从couchbase检索数据的示例。
const char path[] = "myview?startkey=I,endkey=j";
libcouchbase_make_couch_request(instance, NULL, path, npath
NULL, 0, LIBCOUCHBASE_HTTP_METHOD_GET, 1);
我已经下载并安装了libcouchbase v 2.0.6
似乎库中没有函数libcouchbase_make_couch_request()或lcb_make_couch_request()。
我哪里错了?
如果在我们调用libcouchbase_make_couch_request()
的等价物之后有一个可用的提取数据的示例,它将会有很大的帮助。答案 0 :(得分:1)
库本身带有联机帮助页,这是最实际的文档。索引页面为man 3 libcouchbase
。您需要的页面是man 3 lcb_make_http_request
。您还可以在repo本身https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_make_http_request.3couchbase.txt
在1.x和2.x版本之间,我们已经更改了很多API,因此它主要不向后兼容。函数libcouchbase_make_couch_request
只能在“开发人员预览”版本(例如测试版)中访问,最终它被命名为lcb_make_http_request
,因为您可以使用相同的调用来创建设计文档,还可以执行管理任务,例如创建/刷新/删除桶等
以下是上面手册页中的代码示例:
lcb_http_request_t req;
lcb_http_cmd_t *cmd = calloc(1, sizeof(lcb_http_cmd_t));
cmd->version = 0;
cmd->v.v0.path = "_design/test/_view/all?limit=10";
cmd->v.v0.npath = strlen(item->v.v0.path);
cmd->v.v0.body = NULL;
cmd->v.v0.nbody = 0;
cmd->v.v0.method = LCB_HTTP_METHOD_GET;
cmd->v.v0.chunked = 1;
cmd->v.v0.content_type = "application/json";
lcb_error_t err = lcb_make_http_request(instance, NULL,
LCB_HTTP_TYPE_VIEW,
&cmd, &req);
if (err != LCB_SUCCESS) {
... failed to schedule request ...