跳到主要内容

API 接口

查询内容列表

根据简单的排序、分组条件,获取某内容集合的文档数据

请求路径

GET https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${项目ID}/collections/${集合ID}/contents?limit=${limit}&offset=${offset}&fields={fields}&sort={sort}

请求参数

查询操作时,可以在 URL 中添加以下的 Query 参数

字段类型必填说明
limitString查询返回的文档数量,默认 30,最大值 100
offsetString查询偏移的文档数量,从 0 开始
fieldsStringJSON 对象字符串,例:{ key1: 1, key2: 0 },表示取 key1 字段,丢弃 key2 字段
sortStringJSON 对象字符串,例:{ key1: 1, key2: -1 },表示按 key1 升序,key2 降序 排序

如:

GET /.../?limit=10&offset=0&fields={"name":1}&sort={"name":1}

响应体

字段类型说明
requestIdString请求 ID
resultObject返回结果
codeString发生错误时的错误码
messageString发生错误时的错误信息

响应示例

{
"code": "NORMAL",
"result": {
"data": [
{
"_id": "kWJAlF1RCLXlFMoR",
"_createTime": "1677061918053",
"_updateTime": "1677061918053",
"name": "ss"
}
],
"total": 1
},
"requestId": "70659005-8b32-46be-8c2b-835aec9a68a6"
}

自定义查询条件获取内容列表

获取符合查询条件的文档列表

请求路径

POST https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${项目ID}/collections/${集合ID}/contents?limit=${limit}&offset=${offset}&fields={fields}&sort={sort}

请求体

如下所示,支持使用Query Command语法构造自定义查询条件来获取内容数据。

{
"price": { "$gt": 100 }
}

使用示例

const axios = require("axios");

const env = "<环境 ID>";
const region = "<地域,如 ap-shanghai>";
const kitId = "<CMS 的实例 ID>";
const projectId = "<CMS 项目唯一 ID>";
const collectionId = "<CMS 集合唯一 ID>";

// 请求路径
const reqUrl = `https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${projectId}/collections/${collectionId}/contents?limit=10&offset=0`;

// Query Command 查询条件
const query = {
price: { $gt: 100 },
};

const data = await axios.post(reqUrl, query);

查询单条记录

获取指定 Id 的文档

请求路径

GET https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${项目ID}/collections/${集合ID}/contents/${contentId}

请求参数

参数类型是否必填说明
contentIdString内容 Id

响应

{
"code": "NORMAL",
"result": {
"_id": "kWJAlF1RCLXlFMoR",
"_createTime": "1677061918053",
"_updateTime": "1677061918053",
"name": "ss"
},
"requestId": "ebcd85f7-9aef-4d5c-a338-f8925c347147"
}

Query Command

提示

下面仅列出了部分 Command,全部 Command 请查看数据库 SDK 文档

$eq

表示字段等于某个值。

语法:{ <field>: { $eq: <value> }}

{
"name": {
"$eq": "cms"
}
}

$ne

表示字段不等于某个值。

语法:{ <field>: { $ne: <value> }}

{
"name": {
"$ne": "luke"
}
}

$gt

表示字段大于某个值。

语法:{ <field>: { $gt: <value> }}

{
"age": {
"$gt": 18
}
}

$gte

表示字段大于或等于某个值。

语法:{ <field>: { $gte: <value> }}

{
"age": {
"$gte": 18
}
}

$lt

表示字段小于某个值。

语法:{ <field>: { $lt: <value> }}

{
"age": {
"$lt": 18
}
}

$lte

表示字段小于或等于某个值。

语法:{ <field>: { $lte: <value> }}

{
"age": {
"$lte": 18
}
}

$in

字段值在给定的数组中。

语法:{ <field>: { $in: [<value1>, <value2>, ... <valueN>] }}

{
"category": {
"$in": ["science", "computer"]
}
}

$nin

字段值不在给定的数组中。

语法:{ <field>: { $nin: [<value1>, <value2>, ... <valueN>] }}

{
"category": {
"$nin": ["science", "computer"]
}
}

$and

表示需同时满足指定的两个或以上的条件。

语法:{ $and: [{ <expression1> }, { <expression2> } , ... , { <expressionN> }] }

{
"$and": [
{
"price": {
"$lt": 200
}
},
{
"price": {
"$gt": 100
}
}
]
}

$or

表示需满足所有指定条件中的至少一个。

语法:{ $or: [{ <expression1> }, { <expression2> }, ... , { <expressionN> }] }

{
"$or": [
{
"price": {
"$lt": 200
}
},
{
"price": {
"$gt": 100
}
}
]
}

$nor

表示逻辑 "都不" 的关系,表示需不满足指定的所有条件。

语法:{ $nor: [{ <expression1> }, { <expression2> }, ... { <expressionN> }] }

{
"$nor": [
{
"price": {
"$lt": 200
}
},
{
"price": {
"$gt": 100
}
}
]
}