我是couchdb的新手。我想查询以查找符合以下条件的所有记录 a = first_parameter,b = sec_parameter,时间=最后五分钟 所以在sql中它会像我这样猜测
SELECT *ID* WHERE *A*=1 AND *B*=2 AND*time*>current_time-5
但是如何在hyperledger的链码中完成?我应该使用复合键吗? 附:我查看了大理石示例,但只有一个参数。
答案 0 :(得分:0)
你可以在视图/索引的map函数中发出复合键或数组键,如下所示:
class A {
public function toString($object = null) {
if ($object == null) {
return '';
}
$result = '<pre>';
foreach ($object as $key => $value) {
$result .= $key . ': ' . $value . '<br>';
}
$result .= '</pre>';
return $result;
}
}
class B extends A {
public function toString($object = null) {
if ($object == null) {
$object = $this;
}
parent::toString($object);
}
}
然后,您可以像这样查询视图/索引:
emit([doc.A, doc.B, doc.time], doc._id)
要了解数组键如何在CouchDB上运行,您可能需要查看this answer。