uniapp-商城-46-创建schema并新增到数据库

在后台页面中,数据管理是关键。最初,数据可能是通过代码硬编码在页面中,但这种方式缺乏灵活性和扩展性。为了适应实际需求,应使用数据库来存储数据,允许用户自行添加和更新信息。通过数据库,后台页面可以动态获取和展示用户提交的数据,实现数据的实时更新和管理。这种设计不仅提高了系统的可维护性,还增强了用户体验,使数据管理更加高效和灵活。

上面后台管理的数据是通过代码写死的。

但是真实的数据,是用户自己添加的。通过数据库获取的。

1、创建schema文件

如果直接到后台数据库添加,不便于移植

为方便后期移植使用,创建好schema,后台云数据库可以通过schema创建数据表。

unicloud---database----右键创建schema

然后选择商品类别的模板(一般都有,也可以自己定义),定义自己的schema的文件名字。点击确定创建schema文件。

2、处理模版-->自己需要的商品分类模板

删除多余部分,加入必填字段

//必填项目 required

具体的js代码:

javascript 复制代码
{
	"bsonType": "object",
	//必填项目 required
	"required": [
		"name"
	],
	//权限,read 开启 ,默认时 先不校验,后面需要再来处理
	"permission": {
		"read": true,
		"create": false,
		"update": false,
		"delete": false
	},
	"properties": {
		//这里的id 是数据库自己的  不要动
		"_id": {
			"description": "存储文档 ID(文章 ID),系统自动生成"
		},
		// 我们这里没有父级,所以删除掉
		/***
		"parent_id": {
			"bsonType": "string",
			"description": "父ID,用于多级分类"
		},
		***/
		"name": {
			"bsonType": "string",
			"description": "类别名称",
			"title": "类别名称",
			"trim": "both"
		},
		/*** 我们没有图标,也删除
		"icon": {
			"bsonType": "string",
			"description": "类别图标/图片地址",
			"title": "图标地址",
			"pattern": "^(http://|https://|/|./|@/)\\S",
			"trim": "both"
		},
		***/
		// 排序,按照数值
		"sort": {
			"bsonType": "int",
			"description": "类别排序,越大越靠后",
			"title": "排序"
		},
		//描述 可以为空,到时不添加也可以,先留下来
		"description": {
			"bsonType": "string",
			"description": "类别描述",
			"title": "类别描述",
			"trim": "both"
		},
		/*** 是否热门 不用都删除
		"is_hot_show": {
			"bsonType": "bool",
			"title": "加入热门显示",
			"description": "是否热门显示"
		},
		***/
		/***是否首页  不用都删除
		"is_index_show": {
			"bsonType": "bool",
			"title": "首页显示",
			"description": "是否首页显示"
		},
		***/
		//创建时间  当前时间  now 使用$env 获取
		"create_date": {
			"bsonType": "timestamp",
			"description": "创建时间",
			"defaultValue": {
				"$env": "now"
			}
		}
	},
	"version": "0.0.1"
}

3、上传数据表到云后台数据库

再unicloud 就存在这个数据表了

4、同样就可以移植到其他地方部署,然后上传这个schema就好了(一般就是上传database,其中就包含这个schema)

相关推荐
笨笨狗吞噬者10 小时前
维护 uniapp 小程序端近一年,我想拉一个开发者交流群
前端·程序员·uni-app
你的眼睛會笑2 天前
uni-app 实战:使用 lime-painter 实现页面内容一键生成海报并下载
uni-app
一只程序熊2 天前
uniapp 高德地图 打开选择地址报错,也没有展示出附近的位置
android·uni-app
2501_915909062 天前
不用越狱就看不到 iOS App 内部文件?使用 Keymob 查看和导出应用数据目录
android·ios·小程序·https·uni-app·iphone·webview
万物得其道者成2 天前
uni-app Android 离线打包:多环境(prod/dev)配置
android·opencv·uni-app
学习3人组2 天前
Uniapp快速上手了解
uni-app
小鲤鱼ya3 天前
vue3 + ts + uni-app 移动端封装图片上传添加水印
前端·typescript·uni-app·vue3
2501_915921433 天前
常用iOS性能测试工具大全及使用指南
android·测试工具·ios·小程序·uni-app·cocoa·iphone
桐溪漂流3 天前
Uni-app H5 环境下 ResizeObserver 监听 mp-html 动态高度
前端·uni-app·html
芒果大胖砸3 天前
uniapp 在h5中预览pdf hybrid方法
pdf·uni-app