高级查询(分页、排序、比较) POST 
通过以下接口,您可以使用条件操作符,更好的过滤结果。
url
http://您已备案域名/v5/classes/<collection_name>/queryObjectID
通过 _id 字段查询指定数据时,不能直接传递 ID 值,而是需要通过系统内置 ObjectID 函数,将 ID 字符串转换为 ObjectID 类型(⚠️ 注意:一定要是正确的 ID 才能被转换)。
- 查询 
ID为abc和123的数据 
json
{
    "page": 1,
    "size": 10,
    "sort": { "age": -1 },
    "body": { "_id": { "$in": ["ObjectID('abc')", "ObjectID('123')"] } }
}Date 类型
由于 JSON 数据中只存在字符串类型,不存在 Date 类型数据。因此,您可以使用系统内置 Date 函数,将 RFC3339 格式的日期时间类型的字符串转换为 Date 类型(⚠️ 注意:一定要是 RFC3339 规范的才能被正确转换)。
- 查询指定日期的数据(查询 
2017-07-09 00:00:00-2017-07-10 00:00:00创建的所有数据) 
json
{
    "page": 1,
    "size": 10,
    "sort": { "age": -1 },
    "body": {
        "createdAt": {
            "$gte": "Date('2017-07-09T00:00:00.000Z')",
            "$lt": "Date('2017-07-10T00:00:00.000Z')"
        }
    }
}条件操作符
| 操作符 | 说明 | 
|---|---|
$eq | 等于 | 
$ne | 不等于 | 
$gt | 大于 | 
$lt | 小于 | 
$gte | 大于等于 | 
$lte | 小于等于 | 
$in | 在给定的数组中 | 
$nin | 不在给定的数组中 | 
$and | 逻辑与 | 
$or | 逻辑或 | 
$not | 逻辑非 | 
$nor | 不匹配任何条件 | 
$exists | 判断字段是否存在 | 
$regex | 匹配正则表达式 | 
$all | 匹配数组中包含所有指定元素的数据 | 
$elemMatch | 匹配数组中至少一个元素满足所有指定条件的数据 | 
$size | 匹配数组大小 | 
$bitsAllSet | 所有指定位都设置为 1 | 
$bitsAnySet | 指定位之一设置为 1 | 
$bitsAllClear | 所有指定位都清除为 0 | 
$bitsAnyClear | 指定位之一清除为 0 | 
$text | 执行全文本搜索 | 
$year, $month, $dayOfMonth, $hour, $minute, $second, $millisecond | 日期操作符,用于提取日期字段的各个部分。 | 
请求示例 
注意修改大括号中的内容。App ID、API Key、Secret Key 请前往仪表盘获取。sign 为签名,签名方式详见请求签名。
shell
curl --location --request POST 'http://您已备案域名/v5/classes/<collection_name>/query' \
--header 'X-T1Y-Application-ID: {{app_id}}' \
--header 'X-T1Y-Api-Key: {{api_key}}' \
--header 'X-T1Y-Safe-NonceStr: {{客户端随机生成的32位随机码}}' \
--header 'X-T1Y-Safe-Timestamp: {{Unix时间戳,精确到秒}}' \
--header 'X-T1Y-Safe-Sign: {{MD5(path+app_id+api_key+客户端随机生成的32位随机码+Unix时间戳+Secret_Key)}}' \
--header 'Content-Type: application/json' \
--data-raw '{"page": 1, "size": 10, "sort": {"age": -1}, "body": {"age": {"$gt": 20}}}'shell
curl --location --request POST "http://您已备案域名/v5/classes/<collection_name>/query" ^
--header "X-T1Y-Application-ID: {{app_id}}" ^
--header "X-T1Y-Api-Key: {{api_key}}" ^
--header "X-T1Y-Safe-NonceStr: {{客户端随机生成的32位随机码}}" ^
--header "X-T1Y-Safe-Timestamp: {{Unix时间戳,精确到秒}}" ^
--header "X-T1Y-Safe-Sign: {{MD5(path+app_id+api_key+客户端随机生成的32位随机码+Unix时间戳+Secret_Key)}}" ^
--header "Content-Type: application/json" ^
--data-raw "{\"page\": 1, \"size\": 10, \"sort\": {\"age\": -1}, \"body\": {\"age\": {\"$gt\": 20}}}"请求体 --data-raw 中的数组元素解析:page 为页码,size 为每页条目数,sort 为排序(-1 为降序,1 为升序),body 为查询过滤器。以上则是表示查询第 1 页的数据,每页 10 条,条件为 age 大于 20 岁的,并以降序的方式返回结果。
响应示例 
操作成功时 http 状态码以及 code 永远是 200。若需校验响应数据请参考响应签名校验(可选)。
json
{
    "code": 200,
    "data": {
        "data": [
            {
                "_id": "65435f093b239fddbc3f646e",
                "name": "王华华",
                "age": 23,
                "sex": "女",
                "createdAt": "2023-11-04T09:25:24.707+08:00",
                "updatedAt": "2023-11-04T09:25:24.707+08:00"
            },
            {
                "_id": "65435f093b239fddbc3f646e",
                "name": "王华",
                "age": 21,
                "sex": "男",
                "createdAt": "2023-11-04T09:25:24.707+08:00",
                "updatedAt": "2023-11-04T09:25:24.707+08:00"
            }
        ]
    },
    "message": "ok"
}json
{
    "code": 400,
    "data": null,
    "message": "This is an exception message."
}