如何在 Hyperledger Composer 中匹配查询文件中的字符串?
How to match string in query file in Hyperledger Composer?
我在此查询语句中遇到了一个问题:查询未返回任何结果。
查询:
statement:
SELECT org.example.identitynetwork.IdentityProof
WHERE ((owner == _$owner) AND (proofName == _$proofName))
我的首席技术官是:
asset IdentityProof identified by proofId {
o String proofId
o String proofName
o String encodedData
--> Owner owner
}
在logic.js中:
let idProofs = await query('selectRequestedIdProofsByOwner',
{
"owner": proofOwner,
"proofName": proofName
}
);
即使我正确配置了权限并且存在具有给定所有者和证明名称的证明,此查询也不会返回任何结果。
使用 where
和 and
过滤器,
let idProofs = await query('selectRequestedIdProofsByOwner',
{
"where": {
"and": [
{ "owner": proofOwner },
{ "proofName": proofName }
]
}
}
);
需要注意的一点,这不适用于关系属性,这仅适用于基本的字符串匹配。在您的示例中,owner
与 proofOwner
匹配将不起作用。
更新
可以通过在 namespace
名称前加上 Resource type
前缀,然后是 #
和 Unique
资源 ID 来完成关系匹配。
let idProofs = await query('selectRequestedIdProofsByOwner',
{
"where": {
"and": [
{ "owner": "resource:org.example.businessnetwoek.ParticipantType#"+proofOwner },
{ "proofName": proofName }
]
}
}
);
在您的示例中 uniqueId
将是 proofOwner
我在此查询语句中遇到了一个问题:查询未返回任何结果。
查询:
statement:
SELECT org.example.identitynetwork.IdentityProof
WHERE ((owner == _$owner) AND (proofName == _$proofName))
我的首席技术官是:
asset IdentityProof identified by proofId {
o String proofId
o String proofName
o String encodedData
--> Owner owner
}
在logic.js中:
let idProofs = await query('selectRequestedIdProofsByOwner',
{
"owner": proofOwner,
"proofName": proofName
}
);
即使我正确配置了权限并且存在具有给定所有者和证明名称的证明,此查询也不会返回任何结果。
使用 where
和 and
过滤器,
let idProofs = await query('selectRequestedIdProofsByOwner',
{
"where": {
"and": [
{ "owner": proofOwner },
{ "proofName": proofName }
]
}
}
);
需要注意的一点,这不适用于关系属性,这仅适用于基本的字符串匹配。在您的示例中,owner
与 proofOwner
匹配将不起作用。
更新
可以通过在 namespace
名称前加上 Resource type
前缀,然后是 #
和 Unique
资源 ID 来完成关系匹配。
let idProofs = await query('selectRequestedIdProofsByOwner',
{
"where": {
"and": [
{ "owner": "resource:org.example.businessnetwoek.ParticipantType#"+proofOwner },
{ "proofName": proofName }
]
}
}
);
在您的示例中 uniqueId
将是 proofOwner