getStateByPartialCompositeKey返回一个不可迭代的对象

问题描述 投票:0回答:1

示例代码

keyIter = ctx.stub.getStateByPartialCompositeKey(this.name, strkey);
console.log("keyIter"+ keyIter);

我通过2个键创建了复合键,我可以在Couch DB中看到记录。但是,在尝试获取与第一个键匹配的所有键的完整列表时,我没有根据文档获得可迭代。请分享结果。

我正在使用VSE扩展并在IBM Blockchain Platform V0.3.0上工作

日志

keyIter[object Promise]
2019-02-28T23:22:22.132Z ERROR [contracts-spi/chaincodefromcontract.js]  
    {"message":"keyIter is not iterable","stack":"TypeError: keyIter is not iterable\n    at MyContract.query (/usr/local/src/lib/my-contract.js:42:25)\n    at ChaincodeFromContract.invokeFunctionality (/usr/local/src/node_modules/fabric-shim/lib/contract-spi/chaincodefromcontract.js:322:58)\n    at <anonymous>\n    at process._tickCallback (internal/process/next_tick.js:188:7)"}
2019-02-28T23:22:22.134Z ERROR [lib/handler.js] [mychannel-6323acf1]Calling chaincode Invoke() returned error response [TypeError: keyIter is not iterable]. Sending ERROR message back to peer
hyperledger-fabric blockchain composite-primary-key smartcontracts ibm-blockchain
1个回答
0
投票

请验证this.name是索引名称,它应该在双引号内。 strkey是指复合键。

© www.soinside.com 2019 - 2024. All rights reserved.