# 内容模型

> 当前模块已停止维护，欢迎使用 [云后台/数据管理](https://docs.cloudbase.net/toolbox/manage-data)

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

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

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

![](https://res8.wxqcloud.qq.com.cn/wxdoc/b1ce6b0d-ef1f-46d6-830e-664d8c1159ca.jpg)

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

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

![](https://res8.wxqcloud.qq.com.cn/wxdoc/de0a991c-e88c-4d03-b278-c8ee1358a88a.jpg)

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

![](https://res8.wxqcloud.qq.com.cn/wxdoc/61fd889c-deb5-4825-9b95-04fa7e72d1a1.jpg)

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

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

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

![](https://res8.wxqcloud.qq.com.cn/wxdoc/31bfec98-c136-4e23-8ea4-525967107ae2.jpg)

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

![](https://res8.wxqcloud.qq.com.cn/wxdoc/bb940be0-58af-4b3e-a968-53fcd6195dc8.jpg)

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

![](https://res8.wxqcloud.qq.com.cn/wxdoc/5bee7058-b21f-4a28-9409-fe1395ff8969.jpg)

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

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

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

### 实践教程

[使用云开发内容管理能力实现简易商场](https://developers.weixin.qq.com/community/business/doc/000a62dd670c5008017b3066e5680d)
