0

在 couchbase 官方文档中 - http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-view.html

有一个使用视图从沙发库中检索数据的示例。

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() 的等价物后检索到的数据有一个可用的示例,它也会有很大帮助

4

1 回答 1

1

库本身带有手册页,这是最实际的文档。索引页是man 3 libcouchbase。您需要的页面是man 3 lcb_make_http_request. 您还可以在 repo 本身中找到 asciidoc 格式的文档https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_make_http_request.3couchbase.txt

在 1.x 和 2.x 版本之间,我们对 API 进行了很多更改,因此它大多不向后兼容。并且功能libcouchbase_make_couch_request只能在“开发者预览”版本(如 beta)中访问,最终命名为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 ...
于 2013-06-14T15:46:45.503 回答