0

我的软件是基于“C”的,并且正在使用 libcouchbase 与 Couchbase 服务器对话我知道如何使用 libcouchbase 查询 Couchbase 视图。但是为了能够查询视图,我需要创建一个。

我知道可以通过 couchbase GUI 创建视图。但是当软件作为产品发布时,我不想给出单独创建视图的说明。因此,我正在寻找一个 libcouchbcase API,它可以从 Couchbase C 客户端本身创建视图。这将是产品启动时的一次性活动(换句话说,它是一个幂等操作)

也欢迎任何代码片段。

4

1 回答 1

1

man lcb_make_http_request获取有关对 couchbase 进行安静查询的更多信息

您还可以在 repo 中找到文档源https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_make_http_request.3couchbase.txt#L147-163

const char *docid = "_design/test";
const char *doc = "{\"views\":{\"all\":{\"map\":\"function (doc, meta) { emit(meta.id, null); }\"}}}";
lcb_http_cmd_t cmd;
lcb_http_request_t req;
cmd.version = 0;
cmd.v.v0.path = docid;
cmd.v.v0.npath = strlen(docid);
cmd.v.v0.body = doc;
cmd.v.v0.nbody = strlen(doc);
cmd.v.v0.method = LCB_HTTP_METHOD_PUT;
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-26T18:52:51.610 回答