我如何为Hyperledger Fabric链代码部署ouchDb索引?

时间:2019-06-12 12:40:28

标签: couchdb hyperledger-fabric hyperledger-chaincode chaincode

我正在尝试部署带有ouchdb索引的链码,但是它不起作用。 我使用Hyperledger织物2.0版Alpha,并且链代码可以使用了。

这是我的索引

{"index":{"fields":["price"]},"ddoc":"indexPriceDoc", "name":"indexPrice","type":"json"}

这是文件夹结构: chaincode \ META-INF \ statedb \ couchdb \ indexes \ indexPrice.json

这是我链码中的查询

queryString := fmt.Sprintf("{\"selector\":{\"timeSlot\":\"%s\"},\"sort\":[{\"price\":\"asc\"}], \"use_index\":[ \"indexPriceDoc\",\"indexPrice\" ]}", subscribe.TimeSlot)

iterator, err := stub.GetQueryResult(queryString)

在我的日志文件中执行查询时,我发现此错误:

2019-06-12 09:59:05.714 UTC [shim] handleGetQueryResult -> ERRO 005 [0f072238] Received ERROR
2019-06-12 09:59:05.714 UTC [offer] Error -> ERRO 006 Error querying offers:  GET_QUERY_RESULT failed: transaction ID: 0f072238990b15b22696060305140880c6694028c1fac300511090f433dc2583: error handling CouchDB request. Error:no_usable_index,  Status Code:400,  Reason:No index exists for this sort, try indexing by the sort fields.

怎么了?

1 个答案:

答案 0 :(得分:1)

关闭网络,然后重新安装并实例化带有索引的链码。 设置多个索引时,我也面临同样的问题。