這篇文章主要介紹Hyperledger composer查詢語言怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
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
此查詢返回年齡小于所提供參數或 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.Driver
WHERE ((age < _$ageParam OR firstName == 'Dan') AND (lastName != 'Selman'))
ORDER BY [lastName ASC, firstName ASC]
}查詢可以使用運行查詢時必須提供的未定義參數編寫。例如,以下查詢將返回age屬性大于提供的參數的所有驅動程序:
query Q17 {
description: "Select all drivers aged older than PARAM"
statement:
SELECT org.example.Driver
WHERE (_$ageParam < age)
} 該CONTAINS過濾器用于搜索節點中的數組字段。下面的查詢返回所有獲得準時和穩定駕駛證的駕駛員??紤]到徽章在駕駛員參與者中是陣列類型的。
query Q18 {
description: "Select all drivers who has the following interests"
statement:
SELECT org.example.Driver
WHERE (badges CONTAINS ['punctual', 'steady-driving'])
}以上是“Hyperledger composer查詢語言怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。