在本教程之后,有查询
query selectCommoditiesByOwner {
description: "Select all commodities based on their owner"
statement:
SELECT org.acme.biznet.Commodity
WHERE (owner == _$owner)
}
但是没有一个例子可以解释如何申请
对于参数owner
,我尝试使用节点变量owner
owner.toUri()
owner.getFullyQualifiedIdentifier()
"resource:" + owner.getFullyQualifiedIdentifier()
但没有任何作用
有人有一个有效的例子吗?
答案 0 :(得分:1)
如何“请求”的示例显示在查询教程的https://hyperledger.github.io/composer/tutorials/queries
的REST API部分中如果您的意思是:使用API在事务处理器函数中请求它 - 在同一个教程中有一个示例,即调用查询函数,例如。
/**
* Remove all high volume commodities
* @param {org.acme.biznet.RemoveHighQuantityCommodities} remove - the remove to be processed
* @transaction
*/
function removeHighQuantityCommodities(remove) {
return getAssetRegistry('org.acme.biznet.Commodity')
.then(function (assetRegistry) {
return query('selectCommoditiesWithHighQuantity')
.then(function (results) {
// process results objects etc
所以使用你的查询 - 你可以这样做:
var tx_owner = tx.owner; // passed into the Transaction Processor for example
return query('selectCommoditiesByOwner', {
"owner": tx_owner // eg "resource:org.acme.trading.Trader#trader1"
})
.then(function (results) {
// do something
希望这会有所帮助。在此处参见进一步的参考 - > https://hyperledger.github.io/composer//reference/query-language