简介
通过本文您可以了解:标量过滤支持的字段以及对应操作符的支持情况。
逻辑运算表达式
支持的逻辑运算符包括 and、or、not,如下表所示。
运算符 | 描述 | 示例 |
$and | 与 | {"$and":[{"field1":{"$in":["value1","value2"]}},{"field2":{"$gt":123}}]} |
$or | 或 | {"$or":[{"field1":{"$in":["value1","value2"]}},{"field2":{"$gt":123}}]} |
$not | 非 | {"$not":{"field1":{"$eq":"value1"}}} |
字符串类型表达式
字符串类型的值必须要用英文双引号括起来。字符串类型可以用单值或多值匹配。当前所支持的字符串类型的运算符,如下表所示。
运算符 | 描述 | 示例 |
$in | 匹配任意一个字符串值 | {"field1":{"$in":["value1","value2"]}} |
$nin | 排除所有字符串值 | {"field1":{"$nin":["value1","value2"]}} |
$eq | 匹配单个字符串值 | {"field1":{"$eq":"value1"}} |
$ne | 排除单个字符串值 | {"field1":{"$ne":"value1"}} |
数值类型表达式
标量索引字段的数值类型支持 uint64、int64、double 类型。Filter 表达式所支持数值类型的运算符,如下表所示。
运算符 | 描述 | 示例 |
$gt | 大于 | {"field1":{"$gt":123}} |
$gte | 大于等于 | {"field1":{"$gte":123}} |
$eq | 等于 | {"field1":{"$eq":123}} |
$lt | 小于 | {"field1":{"$lt":123}} |
$lte | 小于等于 | {"field1":{"$lte":123}} |
$ne | 不等于 | {"field1":{"$ne":123}} |
$in | 匹配任意一个数值 | {"field1":{"$in":[123,456]}} |
$nin | 排除所有数值 | {"field1":{"$nin":[123,456]}} |
filter 中支持的标量字段
任何数据对象都一定有的标量数据,即上文 field1、field2支持的字段
字段名 | 类型 | 描述 |
ContentType | String | 对象的 Meta 类型,例如为 JPEG,由客户在上传的时候指定 |
MediaType | String | 文件媒体类型。枚举值: image:图片 other:其他 document:文档 archive:压缩包 audio:音频 video:视频 |
CustomId | String | 客户主动传入的一个随机 Id,用于标识对象 |
Size | Int | 对象的大小 |
FileModifiedTime | Int | 对象的最后更新时间戳 |
COSUserMeta | Json | COS 自定义头部。储存您业务在 cos object 上的键名、键值对信息,用于在查询时可以据此为筛选项进行检索。如:COSUserMeta.xxx |
COSTagging | Json | COS 自定义标签。储存您业务在 cos object 上的自定义标签的键名、键值对信息,用于在查询时可以据此为筛选项进行检索。如:COSTagging.xxx |
CustomLabels | Json | 文件自定义标签列表。储存您业务自定义的键名、键值对信息,用于在查询时可以据此为筛选项进行检索。如:CustomLabels.xxx |