文档首页> 应用魔方 AppCube> API参考> API> 数据模块> 按条件查询对象数据功能
更新时间:2022-04-27 GMT+08:00
分享

按条件查询对象数据功能

功能介绍

按条件查询对象数据。

URI

POST AppCube域名/u-route/baas/data/v1.0/query/{objectName}?base=X&fields=f1,f2

参数说明请参见表1

表1 参数说明

参数

是否必选

描述

objectName

数据对象的名称。

base

查询参数,用于区分objectName传入数据样式。支持如下选项:

  • I:对应对象的ID。
  • N:传入的对象名称。

fields

查询参数,对象显示的字段。

请求参数

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

描述

condition

Object

表示查询的条件,包含以下元素,若为空则表示查询所有对象数据。

  • conjunction:表示需要满足的条件个数,支持如下选项:
    • AND:表示条件都要满足。
    • OR:表示至少要满足一个条件。
  • conditions:筛选条件的数组。如果参数为空,代表查询所有对象数据,若不为空,其中的每一个元素对象都包含三个字段:
    • field:类型string,字段名称。
    • operator:类型string,操作符。
    • value:类型string,对比值。
  • relation:数组中包含parents(向上查询)和children(向下查询)两个元素,两者分别对应相应的数组。

    其中parents包含condition数组和relatedField(关联字段名称)。

    children包含:condition数组和relationName(关联字段名称)。

    Condition数组包含:

    • conjunction:取值为AND或OR。
    • conditions:同上conditions参数。
    • relation:同上relation参数。

relation

Object

关联查询,包含parents(向上查询)和children(向下查询)两个元素,两者分别对应相应的数组。

其中parents包含condition数组和relatedField(关联字段名称)。

children包含:condition数组和relationName(关联字段名称)。

Condition数组包含:

  • conjunction:取值为AND或OR。
  • conditions:同上conditions参数。
  • relation:同上relation参数。

options

Object

附加选项,对查询返回的结果进行如下操作:

  • orderBy:按指定字段的值排序:取值为asc(升序)和desc(降序)
    options: {
                orderby: [
                    {
                        field: "name",
                        order: db.Order.desc
                    }
                ],
              }
  • groupby:按照指定字段进行分组
    options: {
                groupby: [
                    {
                        field: "name",
                    }
                ],
              }
  • distinct:去重
    options: {
                distinct: true,
              }
  • 限制查询返回的记录数: 通过skip值指定从第多少条开始,limit指定总共返回多少条记录
    {
              options: {
                skip: 100,
                limit: 100
              }
          }

响应参数

响应参数如表3所示。

表3 响应参数

参数

参数类型

描述

resCode

String

返回码,如果返回“0”代表请求成功,其他错误码说明请参考错误码

resMsg

String

返回消息,如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。

result

Array

查询返回的数据。

count

number

对象中满足条件的总记录数。

请求示例

查询“TestProject__testForObject1__CST”对象中name值为“zhang”的记录数,且限制只返回3条,总记录数为5条,返回的记录按“TestProject__length__CST”字段降序排列,查询参数base为N表示按对象名称进行查询。
POST https://AppCube域名/u-route/baas/data/v1.0/query/TestProject__testForObject1__CST?base=N
  
 {"condition": {
        "conjunction": "AND",
        "conditions": [
            {
                "field": "name",
                "operator": "eq",
                "value": "zhang"
            }
        ]
    },
    "options": {
        "orderby": [
            {
                "field": "TestProject__length__CST",
                "order": "desc"
            }
        ],
        "limit": 3
    }
}

响应示例

{
    "resCode": "0",
    "resMsg": "成功",
    "result": [
        {
            "TestProject__age__CST": null,
            "TestProject__length__CST": "888",
            "TestProject__name__CST": null,
            "createdBy": "10gd000000SDzgxNSckK",
            "createdBy.__objectType": "User",
            "createdBy.name": "test0xx",
            "createdDate": "2020-05-29 12:50:59",
            "currencyIsoCode": "",
            "id": "cglE000000aMGHkvmhmb",
            "installedPackage": null,
            "lastModifiedBy": "10gd000000SDzgxNSckK",
            "lastModifiedBy.__objectType": "User",
            "lastModifiedBy.name": "test0xx",
            "lastModifiedDate": "2020-05-29 12:50:59",
            "name": "zhang",
            "owner": "10gd000000SDzgxNSckK",
            "owner.__objectType": "User",
            "owner.name": "test0xx"
        },
        {
            "TestProject__age__CST": null,
            "TestProject__length__CST": "456",
            "TestProject__name__CST": null,
            "createdBy": "10gd000000SDzgxNSckK",
            "createdBy.__objectType": "User",
            "createdBy.name": "test0xx",
            "createdDate": "2020-05-29 12:50:59",
            "currencyIsoCode": "",
            "id": "cglE000000aMGHkvmhma",
            "installedPackage": null,
            "lastModifiedBy": "10gd000000SDzgxNSckK",
            "lastModifiedBy.__objectType": "User",
            "lastModifiedBy.name": "test0xx",
            "lastModifiedDate": "2020-05-29 12:50:59",
            "name": "zhang",
            "owner": "10gd000000SDzgxNSckK",
            "owner.__objectType": "User",
            "owner.name": "test0xx"
        },
        {
            "TestProject__age__CST": null,
            "TestProject__length__CST": "17",
            "TestProject__name__CST": null,
            "createdBy": "10gd000000SDzgxNSckK",
            "createdBy.__objectType": "User",
            "createdBy.name": "test0xx",
            "createdDate": "2020-05-29 12:43:11",
            "currencyIsoCode": "",
            "id": "cglE000000aMFjB9ipAu",
            "installedPackage": null,
            "lastModifiedBy": "10gd000000SDzgxNSckK",
            "lastModifiedBy.__objectType": "User",
            "lastModifiedBy.name": "test0xx",
            "lastModifiedDate": "2020-05-29 12:43:11",
            "name": "zhang",
            "owner": "10gd000000SDzgxNSckK",
            "owner.__objectType": "User",
            "owner.name": "test0xx"
        }
    ],
    "count": 5
}

状态码

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品

close