如何用chaincode正确编写芒果查询?

时间:2019-05-14 08:57:25

标签: hyperledger-fabric hyperledger

问题:

我已经开发了一个链码。在这里,我创建了一个函数来检索属于特定人的所有土地。代码看起来像这样。

async nthUsersLands(stub, args) {
    if (args.length != 1) {
      throw new Error(
        "Incorrect number of arguments. Expecting NIC ex: 944999014V"
      );
    }

    let nic = args[0];

    let landsAsBytes = await stub.getQueryResult({
      selector: {
        docType: "land",
        owner: nic
      }
    });

    console.log(landsAsBytes.toString());
    return landsAsBytes;
  }
};

但是,当我调用此事务时,会出现这样的错误。

  

错误:字符串类型object的queryvalue元素的值非法   (不是字符串)

有人可以帮助我解决此问题吗?我正在互联网上寻找解决此问题的方法。但是我找不到解决这个问题的任何好的方法。谢谢!

1 个答案:

答案 0 :(得分:0)

let landsAsBytes = await stub.getQueryResult({
      JSON.stringify("selector": {
        "docType": "land",
        "owner": nic
      })
    });

原因是您的查询需要是字符串,而不是对象。