更新时间:2024-06-28 GMT+08:00
分享

按条件查询对象数据

功能介绍

按条件查询对象数据。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

objectName

String

参数解释

数据对象的名称。

约束限制

不涉及。

取值范围

1~80个任意字符。

默认取值

不涉及。

base

String

参数解释

查询参数,用于区分objectName传入数据样式。

约束限制

不涉及。

取值范围

支持如下选项:

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

默认取值

不涉及。

fields

Array

参数解释

对象显示的字段,多个字段则用逗号分隔。如果该字段不为空,则仅返回显示的字段和必要信息(如数据记录拥有者信息和id);为空则返回整个记录数据。

约束限制

不涉及。

请求参数

表2 请求参数

参数

是否必选

参数类型

描述

condition

Object

参数解释

表示查询的条件。

约束限制

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

  • conjunction:表示需要满足的条件个数。
    • AND:表示条件都要满足。
    • OR:表示至少要满足一个条件。
  • conditions:筛选条件的数组。如果参数为空,代表查询所有对象数据,若不为空,其中的每一个元素对象都包含如下三个字段。
    • field:字段名称。
    • operator:操作符。例如,“eq”表示等于、“ne”表示不等于、“gt”表示大于、“lt”表示小于、“ge”表示大于等于、“le”表示小于等于。
    • value:对比值。
  • relation:数组中包含parents(向上查询)和children(向下查询)两个元素,两者分别对应相应的数组。

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

relation

Object

参数解释

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

约束限制

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

condition数组包含conjunction、conditions和relation,参数解释同condition。

{  
    //向上查询
    parents: [  //第一级父对象
      {
        relatedField: "CarHolder__CST",  //当前对象的字段(Lookup/MasterDetail类型),据此确定父对象
        options: {
          fields: ["id", "name", "Age__CST"] //父对象的待查字段
        },
        parents: [ //(可选)第二级父对象
          {
            relatedField: "cust__CST", //父对象的字段(Lookup/MasterDetail类型),据此确定祖父对象
            options: {
              fields: ["id", "name", "Email__CST"] //祖父对象的待查字段
            }
          }
        ]
      }
    ],
    //向下查询
    childs: [   //第一级子对象
      {
        relationName: "Contacts", //子对象关系名(子对象定义Lookup/MasterDetail时指定),据此确定子对象
        options: {
          fields: ["id", "name", "Age__CST", "cust__CST"] //子对象的待查字段
      },
      childs: [  //(可选)第二级子对象
        {
            relationName: "ContactCars", //孙子对象关系名
            options: {
              fields: ["id", "name", "Price__CST", "CarHolder__CST"]  //孙子对象待查字段
            }
        }
      ]
      }
    ]
  }

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 响应参数

参数

参数类型

描述

resCode

String

参数解释

返回码。

取值范围

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

resMsg

String

参数解释

返回消息。

取值范围

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

result

Array

参数解释

查询返回的对象数据。

count

number

参数解释

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

取值范围

不涉及。

请求示例

查询“TestProject__testForObject1__CST”对象中,name值为“zhang”的记录数,且限制只返回3条,总记录数为5条,返回的记录按“TestProject__length__CST”字段降序排列,查询参数base为N表示按对象名称进行查询。
POST https://AstroZero域名/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
}

状态码

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品