hyper运算符_Hyperledger Fabric 实战(八):couchdb 丰富查询 selector 语法

本文详细介绍了CouchDB的查询Selector语法,包括组合字符列表和条件参数列表,如$and, $or, $not, $elemMatch等,并通过示例展示了如何使用这些运算符进行复杂查询。同时,提到了CouchDB查询语言Mango与Hyperledger Fabric链码的结合应用,提供了链码操作示例,如添加、获取和列出云证书。" 88978105,7854015,Ubuntu18.04 使用GParted扩容磁盘教程,"['Linux', '系统管理', '磁盘分区', 'GParted']
摘要由CSDN通过智能技术生成

Couchdb 查询 Selector 选择器语法

组合字符列表:

"$and" - 数组参数

"$or" - 数组参数

"$not" - 单一参数

"$nor" - 数组参数

"$all" - 数组参数(数组值的特殊运算符)

"$elemMatch" - 单一参数(数组值的特殊运算符)

条件参数列表:

平等运算符

"$lt" - 任意 JSON

"$lte" - 任意 JSON

"$eq" - 任意 JSON

"$ne" - 任意 JSON

"$gte" - 任意 JSON

"$gt" - 任意 JSON

对象相关运算符

"$exists" - 布尔值,检查字段是否存在,无论其值如何

"$type" - 字符串,检查文档字段的类型

数组相关运算符

"$in" - JSON值数组,文档字段必须存在于提供的列表中

"$nin" - JSON值数组,文档字段不得存在于提供的列表中

"$size" - 整数,特殊条件,用于匹配文档中数组字段的长度。非数组字段无法匹配此条件。

其他相关运营商

"$mod" - [Divisor,Remainder],其中Divisor和Remainder都是正整数(即大于0)。匹配文档where(field%Divisor == Remainder)为true。对于任何非整数字段,这都是错误的

"$regex" - 字符串,与文档字段匹配的正则表达式模式。仅当字段为字符串值并与提供的匹配项匹配时才匹配

最简单的选择器

{"selector":{"name":"tom"}}

其中

{"name":"tom"}

匹配 name 为 tom 的文档(如果存在)。使用其他字段扩展此示例可能如下所示:

{"name": "tom", "location": "Boston"}

这将匹配一个 name 叫 tom 的文件和拥有 Boston 的 location 值。

如果选择器中的对象键有两个特殊的语法元素(句号或简称)字符表示文档中的子字段。例如,这是两个相同的例子:

{"location": {"city": "Omaha"}}

{"location.city": "Omaha"}

如果对象的键包含句号,则可以使用反斜杠进行转义,即

{"location\\.city": "Omaha"}

请注意,这里需要双反斜杠来编码实际的单反斜杠。

第二个重要的语法元素是使用美元符号($)前缀来表示运算符。例如:

{"age": {"$gt": 21}}

在这个例子中创建了布尔表达式 age > 21 。

大多数形式是隐式运算符

在大多数情况下,每个操作员必须具有该形式{"$operator": argument}。虽然选择器有两个隐式运算符。

首先,任何不是条件运算符参数的JSON对象都是 $and 每个字段的隐式运算符。例如,这两个例子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值