【发布时间】:2020-08-15 02:35:46
【问题描述】:
我正在使用Hyperledger Fabric node js sdk 开发与超级账本结构网络交互的客户端应用程序。我将多个资产存储为键值对存储资产'x'和键'x_###',资产'y'和键'y_###'等等。我想按键查询世界状态以获取所有以'x_'开头的资产以获取所有x资产。我怎样才能做到这一点? TIA。
【问题讨论】:
标签: node.js hyperledger-fabric hyperledger
我正在使用Hyperledger Fabric node js sdk 开发与超级账本结构网络交互的客户端应用程序。我将多个资产存储为键值对存储资产'x'和键'x_###',资产'y'和键'y_###'等等。我想按键查询世界状态以获取所有以'x_'开头的资产以获取所有x资产。我怎样才能做到这一点? TIA。
【问题讨论】:
标签: node.js hyperledger-fabric hyperledger
您可以为此目的使用键范围查询或键组合查询。对于您的方案,我建议使用复合键查询,其中“x”是复合键的一部分,“###”是复合键的另一部分(不需要下划线分隔符,因为 Fabric 隐式添加了空字符作为复合键中的分隔符)。这允许您查询以“x”作为第一个复合键部分的任何键。
要查看示例,请查看 ledger queries sample chaincode,搜索 CreateCompositeKey() 和 GetStateByPartialCompositeKey() 函数调用。
注意,当使用 LevelDB 或 CouchDB 作为状态数据库时,支持键范围查询和键组合查询。只有当你想查询 JSON 值内容而不是键时,才需要 CouchDB。
【讨论】: