如何使用pythonsdk为couchbase中的bucket启用主索引?

2024-04-20 04:47:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我是couchbase的新手,正在尝试查询现有存储桶中的文档。当我用python执行服务器代码时,会报告以下错误日志

HTTPError: <RC=0x3B[HTTP Operation failed. Inspect status code for details], HTTP Request failed. Examine 'objextra' for full result, Results=1, C Source=(src/http.c,140), OBJ=ViewResult<rc=0x3B[HTTP Operation failed. Inspect status code for details], value={u'status': u'fatal', u'metrics': {u'elapsedTime': u'64.108808ms', u'executionTime': u'63.940999ms', u'resultSize': 0, u'resultCount': 0, u'errorCount': 1}, u'errors': [{u'msg': u'No primary index on keyspace default. Use CREATE PRIMARY INDEX to create one.', u'code': 4000}], u'requestID': u'14a2ba49-512b-4a4b-9e8d-37ef6c010c34'}, http_status=404>>

我当前执行get请求/查询操作的python代码片段是

 def get(self):
        tableName = request.args.get("tablename")

        createPrimaryIndex = N1QLQuery("create primary index on `default`")
        cb.n1ql_query(createPrimaryIndex)

        q = N1QLQuery("select * from `default` where tablename='{0}' limit 10;".format(tablename))
        for row in cb.n1ql_query(q):
            print row

我注意到,如果我进入couchbase控制台并执行查询set primary index on default(而不是在我的服务器代码中执行),然后执行我的服务器代码,那么数据会很好地返回。但是,我希望在我的服务器代码中执行这个查询。这有可能吗?如果有,我该怎么办?你知道吗


Tags: 代码服务器httpdefaultforgetindexon