getStateByPartialCompositeKey正在重新调整我不可迭代的对象

时间:2019-02-28 23:31:21

标签: hyperledger-fabric blockchain composite-primary-key smartcontracts ibm-blockchain

示例代码 让

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

1 个答案:

答案 0 :(得分:0)

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