带有可选参数的Hyperledger Composer查询

时间:2018-03-26 16:56:18

标签: hyperledger-composer

我正在尝试创建一个动态查询,但我似乎无法找到任何有用的文档。我有以下交易。我想创建一个可能占用任意数量字段的查询,但似乎每当我使用变量创建查询时,它都需要它,如果我不提供它,它们会查询错误。

transaction QuantityChange {
      o String partNumber
      o String facilityId
      o Double quantity
      o invType invType
      o appType application
      o String refDocId optional
}

例如,如果我进行以下查询,我必须同时提供Part和Facility,否则查询不会返回。

query myTransactions{
  description: "return all QuantityChange transactions made"
  statement: 
  SELECT org.acme.trading.QuantityChange
  WHERE ((partNumber == _$part) AND ( facilityId == _$facility))
}

有人能指点我一些资源来帮助我进行更多动态查询吗?

1 个答案:

答案 0 :(得分:1)

有一些例子,人们创建了许多查询来覆盖他们希望查询的参数组合,但这是一种简单的方法,并且不能很好地扩展。

您可以使用Composer API构建动态查询,特别是buildQueryquery方法。这些可在Client API和Runtime API中使用,因此可以在Transaction logic中使用它们。

https://hyperledger.github.io/composer/latest/api/client-businessnetworkconnection#buildquery