精通Hyperledger之Hyperledger composer查询语言(17)
为什么80%的码农都做不了架构师?>>>
1、概念理解
Hyperledger Composer中的查询以定制查询语言编写。查询queries.qry
在业务网络定义中的一个称为()的查询文件中定义。
所有查询都必须包含description
和statement
属性。
该description
属性是描述查询功能的字符串。它必须包含但可以包含任何东西。
该statement
属性包含查询的定义规则,并且可以具有以下运算符:
SELECT
是强制性操作员,默认情况下定义要返回的注册表和资产或参与者类型。FROM
是一个可选运算符,它定义了一个不同的注册表来进行查询WHERE
是一个可选运算符,它定义了要应用于注册表数据的条件。AND
是定义附加条件的可选运算符。OR
是可选运营商,它定义了替代条件。CONTAINS
是一个可选运算符,它定义数组值的条件ORDER BY
是定义排序或结果的可选运算符。SKIP
是一个可选运算符,用于定义要跳过的结果数量。LIMIT
是一个可选运算符,它定义了从查询返回的最大结果数量,默认情况下,极限值设置为25。
注:如果您使用Hyperledger fabricV1.1或以下时,LIMIT
和SKIP
将无法正常工作,有路过的PARAMS到CouchDB的织物上的问题。参考Hyperledger Fabric问题:FAB-2809
2、示例查询
此查询返回年龄小于所提供参数或 firstName为“Dan” 的默认注册表中的所有驱动程序,只要其姓氏不是“Selman”。实际上,这个查询返回所有没有姓氏“Selman”的驱动程序,只要它们在定义的年龄之下,或者具有firstName Dan,并且按lastName升序和firstName升序来命令结果。
query Q20{description: "Select all drivers younger than the supplied age parameter or who are named Dan and whose lastName is not Selman, ordered from A-Z by firstName"statement:SELECT org.example.DriverWHERE ((age < _$ageParam OR firstName == 'Dan') AND (lastName != 'Selman'))ORDER BY [lastName ASC, firstName ASC]
}
3、查询中的参数
查询可以使用运行查询时必须提供的未定义参数编写。例如,以下查询将返回age属性大于提供的参数的所有驱动程序:
query Q17 {description: "Select all drivers aged older than PARAM"statement:SELECT org.example.DriverWHERE (_$ageParam < age)
}
4、示例包含查询
该CONTAINS
过滤器用于搜索节点中的数组字段。下面的查询返回所有获得准时和稳定驾驶证的驾驶员。考虑到徽章在驾驶员参与者中是阵列类型的。
query Q18 {description: "Select all drivers who has the following interests"statement:SELECT org.example.DriverWHERE (badges CONTAINS ['punctual', 'steady-driving'])
}
转载于:https://my.oschina.net/mdxlcj/blog/1829765
精通Hyperledger之Hyperledger composer查询语言(17)相关推荐
- 区块链 Hyperledger Composer 使用教程(环境搭建、项目开发 一)
Hyperledger Composer使用教程 基本概念介绍 1. 欢迎来到Hyperledger作曲家 Hyperledger Composer是一个广泛的,开放的开发工具集和框架,可以使开发区块 ...
- Hyperledger Composer评测
\ 关键要点 \\ 这项技术只适用于非常少量的场景.\\t 对于去中心化的分类账应用程序来说,Hyperledger Fabric在验证写入批次时使用MVCC(多版本并发控制)已经足够安全,但对于B2 ...
- composer创建项目_在Hyperledger Composer上创建区块链解决方案的教程
composer创建项目 Due to modern business demands, IBM joined hands with other companies to develop an ope ...
- 超级账本Hyperledger Fabric的使用
原文地址:超级账本Hyperledger Fabric的使用 说明 网易云课堂:HyperLedger Fabric手动部署教程的视频讲解 超级账本HyperLedger Fabric手动部署教程的文 ...
- Hyperledger Fabric 官网翻译入门教程--之关键概念(Hyperledger Fabric 模型)
英文地址:http://hyperledger-fabric.readthedocs.io/en/latest/fabric_model.html Hyperledger Fabric Model/ ...
- Hyperledger Fabric Model——超级账本组成模型
超级账本组成模型 本文主要讲述Hyperledger Fabric的关键设计特性,并细述如何实现了一个全面的.可定制的企业级区块链解决方案: 资产定义--资产这里理解为任何具有货币价值的东西,它们都可 ...
- 搭建区块链浏览器——基于hyperledger fabric 1.0,MySQL容器
搭建区块链浏览器--基于hyperledger fabric 1.0,MySQL容器 区块链 hyperledger fabric 浏览器 MySQL docker Contents 环境要求 分支 ...
- hyperledger v1.0.5 区块链入门
2019独角兽企业重金招聘Python工程师标准>>> hyperledger v1.0.5 区块链入门 本文作者最近在找工作,有意向致电 13113668890 Mr. Neo C ...
- Hyperledger技术简介
Hyperledger简介(官网): Hyperledger是一项开源协作,旨在推动跨行业区块链技术的发展. 这是一项全球合作,包括银行,金融,物联网,制造,供应链和技术领域的领导者. Linux F ...
- 区块链以太坊以及hyperledger总结
https://learnblockchain.cn/ 1.什么是智能合约?它有什么特点? 就是具有交互能力而且能够在区块链中传递的合约 一个由计算机代码控制的以太币账户 特点: 公开透明.能即时与区 ...
最新文章
- gcc中-pthread和-lpthread的区别
- Spark With Mongodb 实现方法及error code -5, 6, 13127解决方案
- Java solr 分词
- java04376_Java - jdbc mybatis
- 如何学习matlab 知乎,知乎日报
- 拼多多与两大权威球鞋鉴别平台达成合作,为“多多潮鞋馆”提供“真香”认证...
- HDU 4296 Buildings
- 页面引入多个echarts_JavaWeb之Echarts数据统计图表详细教程
- 有关 !DOCTYPE HTML
- 【渝粤教育】国家开放大学2018年秋季 1058t商法 参考试题
- dev多行注释_Shell 实现多行注释的几种常用方法
- 机器人学导论 二、正运动学,MDH法
- 【备忘录】UTM坐标系与经纬度转换 MATLAB C语言
- MTK Android 之MT6577驱动笔记
- 【TWS使用系列1】如何从TWS的自选列表中添加/删除自选股?
- JDBC读取Oracle的US7ASCII编码中文乱码及不同编码下汉字占用字节的问题
- 基于proteus8的8086与8255控制8位数码管显示
- TPM零知识学习九 —— tpm全安装流程复盘(上)
- spotify下载_我的Spotify推荐系统之旅
- Wireshark解密SWAN交互报文