使用Twisted API for Python SDK的Async N1QL couchbase查询

我正在编写Tornado应用程序并需要进行异步N1QL查询.对于map-reduce视图使用 txcouchbase(扭曲的couchbase库)以及 tornado-twisted bridge工作正常,但我不能对N1QL查询做同样的事情.

...

from txcouchbase.bucket import Bucket as AsyncBucket
ASYNC_USER_BUCKET = AsyncBucket(**settings.USER_BUCKET_ARGS)

class FooHandler(BaseAPIHandler):
    @schema.validate()
    @authenticated
    @coroutine
    def get(self):
        res = yield ASYNC_USER_BUCKET.n1qlQueryAll("SELECT * FROM farm_user;")
        ...

执行以下查询后,res对象不可迭代,看起来像这样.

似乎_BatchedRowMixin__rows字段包含查询的结果,但我不确定这是进行异步N1QL查询的正确和稳定的方法.还有其他选择吗?

最佳答案 您似乎已经在我们的客户端中发现了一个错误.它已被提交为 https://issues.couchbase.com/browse/PYCBC-306.我们的代码审查有一个补丁,应尽快合并( http://review.couchbase.org/#/c/56402/).

点赞