在 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}

的引用