我已经开始研究 Couchbase 2.0 的特性,而且我知道 CouchDB 只公开了 HTTP API,但我有点惊讶于 Couchbase 2.0(从 1.8 演变而来,你只使用 memcached)以同样的方式公开视图。
这里有哪些考虑?不能使用 memcached 查询视图吗?
我已经开始研究 Couchbase 2.0 的特性,而且我知道 CouchDB 只公开了 HTTP API,但我有点惊讶于 Couchbase 2.0(从 1.8 演变而来,你只使用 memcached)以同样的方式公开视图。
这里有哪些考虑?不能使用 memcached 查询视图吗?
在 Couchbase Server 2.0 中,无法使用 Memcached API 查询视图。但是,请记住,视图主要是一个二级索引,将用于检索原始文档的某些投影或从视图查询返回的 ID 中检索原始文档。
换句话说,模式(在本例中为 Python)将是:
view = bucket.view("_design/beer/_view/by_name")
然后,当您遍历视图时,您将从每一行获取 ID 并使用 Memcached API 检索原始文档。同样,在 Python 中:
for row in view:
id = row["id"].__str__()
original_doc = bucket.get(id)[2]