uni-app 提交的字段["update_date"]在云端数据表的schema文件中不存在
uni-app 提交的字段[“update_date”]在云端数据表的schema文件中不存在
操作步骤:
dbJQL.collection(tablename).where('_id == "'+uploaddata._id+'"').update(data)
预期结果:
可常更新
实际结果:
提交的字段[“update_date”]在云端数据表的schema文件中不存在
bug描述:
使用 "连接云端函数"并在云函数使用的jql的情况下 出现此错误
使用本地云函数或者不使用jql的情况下就不会出错
7 回复
唉,又是没人回复,等救命的话尸体都凉了
请提供一下空间id
33a8269a-7a85-41dc-91a1-cf1506352934
回复 3***@qq.com: 云函数依赖jql后,会报错是吗?云函数是哪个
回复 DCloud_云服务_moyang: 是的不使用jql就正常 云函数是 jql
回复 3***@qq.com: 当前空间的云函数jql部署正常,schema里有update_date,是这个空间吗?或者再重试一次看是否报错
在 uni-app 中,如果你在提交数据时遇到错误提示,指出某个字段(例如 ["update_date"]
)在云端数据表的 schema 文件中不存在,这通常意味着你在提交数据时包含了一个字段,但该字段在云端数据库的 schema 中并没有定义。
解决方法:
-
检查云端数据库的 schema:
- 登录到你的云数据库管理平台(例如 uniCloud 控制台)。
- 找到对应的数据表,检查其 schema 文件,确认是否定义了
update_date
字段。 - 如果没有定义,你需要手动添加该字段。
-
添加字段到 schema:
- 在 uniCloud 控制台中,找到对应的数据表,点击“编辑 schema”。
- 添加
update_date
字段,并设置其类型(例如Date
或String
)。 - 保存 schema 文件。
-
检查 uni-app 代码:
- 确保你在提交数据时,
update_date
字段的值是有效的,并且符合 schema 中定义的类型。 - 如果你不需要提交
update_date
字段,可以在提交数据时将其移除。
- 确保你在提交数据时,
-
重新提交数据:
- 在确保 schema 和代码都正确后,重新提交数据,检查是否还会出现相同的错误。
示例代码:
假设你在 uni-app 中提交数据的代码如下:
uniCloud.callFunction({
name: 'addData',
data: {
name: 'John',
age: 30,
update_date: new Date() // 确保这个字段在 schema 中已定义
}
}).then(res => {
console.log(res);
}).catch(err => {
console.error(err);
});