在 Hyperledger Composer 中查询
Querying in Hyperledger Composer
当我尝试进行查询时:
query PapersFromAPoll
{
description: "retrieve all the papers from a poll"
statement:
SELECT org.acme.democracity.Paper
WHERE(poll.pollId == _$id)
}
我无法获取任何行,这是我进行此查询的片段:
return query('PapersFromAPoll',{id : count.poll.pollId})
这很奇怪,因为当我删除 WHERE 语句并进行不带任何参数的简单查询时,它可以完美运行。
model.cto 文件中的论文和投票:
asset Paper identified by paperId {
o String paperId
o String[] fields
--> Poll poll //Paper related with a poll
}
asset Poll identified by pollId {
o String pollId
o Ask[] asks
}
query PapersFromAPoll
{
description: "retrieve all the papers from a poll"
statement:
SELECT org.acme.democracity.Paper
WHERE(poll == _$pollId)
}
因此,您可以通过提供对 Poll
资产的引用来按 Poll
资产进行过滤。当您尝试使用 pollId
进行查询时,它必须是对资源 resource:org.acme.democracity.Poll#{insert_id}
的引用
当我尝试进行查询时:
query PapersFromAPoll
{
description: "retrieve all the papers from a poll"
statement:
SELECT org.acme.democracity.Paper
WHERE(poll.pollId == _$id)
}
我无法获取任何行,这是我进行此查询的片段:
return query('PapersFromAPoll',{id : count.poll.pollId})
这很奇怪,因为当我删除 WHERE 语句并进行不带任何参数的简单查询时,它可以完美运行。
model.cto 文件中的论文和投票:
asset Paper identified by paperId {
o String paperId
o String[] fields
--> Poll poll //Paper related with a poll
}
asset Poll identified by pollId {
o String pollId
o Ask[] asks
}
query PapersFromAPoll
{
description: "retrieve all the papers from a poll"
statement:
SELECT org.acme.democracity.Paper
WHERE(poll == _$pollId)
}
因此,您可以通过提供对 Poll
资产的引用来按 Poll
资产进行过滤。当您尝试使用 pollId
进行查询时,它必须是对资源 resource:org.acme.democracity.Poll#{insert_id}