查询
如图创建了一个数据库名为moment
,并包含了content
,mDate
和pictureList
三个字段的模型。数据库即会动态生成一张名为项目AppId
+_
+数据库名的表
(如P88666_momen
t)。
接下来我们将使用 GraphQL API
的方式对该模型进行查询操作。
在massCMS系统中,GraphQL
API 的接口地址均是一样的 baseUrl/api/graphql,请求方式均为POST,根据不同的请求参数执行不同的功能。
接口地址:https://saas.masscms.com/cms-api/cms/api/graphql
1.单表单条数据查询
请求:
{
fetch(arg: "{ 'P88666_moment': {'id':1693190113987} }")
}
响应:
{
"data":{
"msg": "success",
"code": 200,
"P88666_moment": {
"update_time": "2023-08-28 10:35:13",
"update_user": "jcr",
"create_time": "2023-08-28 10:35:13",
"id": 1693190113987,
"create_user": "jcr",
"mDate": "2023-08-05",
"content": "今天又要下雨了",
"mass_content_control_status": "Y"
},
"ok": true
}
}
请求参数P88666_moment
里不添加任何数据时会返回P88666_moment
表所有的字段,如不需要可以通过@column
设置过滤字段。如
{
fetch(arg: "{
'P88666_moment': {
'id':1693190113987,
'@column': 'id,mDate,content'
}
}")
}
响应:
{
"data":{
"msg": "success",
"code": 200,
"P88666_moment": {
"id": 1693190113987,
"mDate": "2023-08-05",
"content": "今天又要下雨了"
},
"ok": true
}
}
2.单表多条数据查询
请求:
{
fetch(arg: "{ '[]':
{
'count': 10,
'page': 0,
'P88666_moment': {
'@column': 'id,content','@order':'id-'
}
}
}")
}
请注意,列表查询支持分页和排序,这里的page
和count
是放在[]
内的属性,而不是P88666_moment
对象里。这里count
表示每页的数量,page
表示第几页,页数从 0
开始算。
"@order":"mDate-,id,content+"
表示排序,其中,字段的前后顺序表示字段排序的优先级。id
和id+
是等价的,默认就是升序排列。date-
表示将date
字段降序排列。
响应:
{
"data":{
"msg": "success",
"[]": [
{
"P88666_moment": {
"id": 1693199892491,
"content": "今天是个开心的日子"
}
},
{
"P88666_moment": {
"id": 1693190969886,
"content": "今天是九月一十八号!"
}
},
{
"P88666_moment": {
"id": 1693190113987,
"content": "今天又要下雨了"
}
},
{
"P88666_moment": {
"id": 1693190090555,
"content": "今天天气还是不错的"
}
}
],
"code": 200,
"ok": true
}
}
如只需查询列表的数量时,可使用如下方法
{
count(arg: "{ 'P88666_moment': {} }")
}
响应:
{
"data":{
"msg": "success",
"code": 200,
"P88666_moment": {
"msg": "success",
"code": 200,
"count": 4,
"ok": true
},
"ok": true
}
}