# 内容模型

# 创建内容模型

内容模型是对数据库中存储的数据结构的描述,通过内容模型,内容管理可以自动生成内容管理界面。

以管理小商店中的商品为例,我们需要建立一个内容模型,描述商品所具有的属性,如:商品名称,商品图片,价格,库存数量等。

# 1. 创建内容模型

创建一个名称为商品的内容模型,数据库名为 goods,即将商品数据存储到 goods 数据集合中。如果新建内容的时候指定的集合不存在,内容管理平台会自动新建集合。

# 2. 添加属性字段

在创建完内容模型后,我们会得到一个空的内容模型。接下来,我们需要为商品添加商品名称,商品图片,价格,库存数量等字段。

为商品添加商品名称属性,因为商品名称通常是比较短的文字,所以我们可以选择单行字符串字段,点击右侧的单行字符串卡片,填写商品名称的字段信息。除了基本的名称,数据库字段名之外,我们还可以为此字段添加其他的限制,如最大长度,限制填写商品名称时的最大长度,创建商品时,是否必需填写商品等。

类似的,我们可以创建数字类型的价格字段以及库存数量,图片类型的商品图片字段。在创建图片字段时,考虑到商品的图片可能有多张,我们可以打开允许多个内容按钮,表明可以上传多张图片

创建的 goods 数据库集合的结构如下:

字段名 类型 描述
name String 商品名称
price Number 商品价格
images Array<Image> 商品图片
stock Number 商品库存

# 新建内容

在创建完商品的内容模型后,我们可以点击“内容集合”下的商品菜单,开始管理数据库中的商品数据。现在小商店中的商品还是空的,我们可以点击新建按钮,添加一个新的商品

如下所示,我们创建一个名为“环保苹果”的新商品,点击创建后,即可生成一条新的商品数据

# 管理内容

在内容列表页,我们可以对已有的内容进行管理,如编辑、删除内容,导入新的内容数据等

# 使用内容数据

采用 CloudBase CMS 管理的内容,依然可以通过云开发的各端 SDK 进行访问(需要注意的是在前端访问时,需要正确设置数据库的安全规则设置,例如设置为所有用户可读,仅创建者可写)。

例如,在上面的例子里,我们需要在云函数中获取 10 条商品数据,可以采用以下代码来获取数据:

db.collection("goods").where({}).limit(10).get();

# 实践教程

[使用云开发内容管理能力实现简易商场](云开发短信跳小程序教程(无代码版)