uni-app Error: [Db]: VALIDATION_ERROR 数据库验证失败 提交的字段["list"]在云端数据表的schema文件中不存在
uni-app Error: [Db]: VALIDATION_ERROR 数据库验证失败 提交的字段[“list”]在云端数据表的schema文件中不存在
示例代码:
Error: [Db]: VALIDATION_ERROR:数据库验证失败:提交的字段["list"]在云端数据表的schema文件中不存在
操作步骤:
,,,
预期结果:
,,,
实际结果:
,,,
bug描述:
Error: [Db]: VALIDATION_ERROR:数据库验证失败:提交的字段["list"]在云端数据表的schema文件中不存在
4 回复
我也遇到了这个问题,今天才会这样子,是不是官方出bug了…
解决了,我升级到最新版本的编辑器,然后重新上传下schema文件就好了
搞了两个小时都没搞定 然后吃个饭回来试了哈 又可以了 莫名其妙的 还以为有bug呢
在 uni-app 开发中,遇到 [Db]: VALIDATION_ERROR
错误,通常是因为你提交的数据字段在云数据库的 schema
文件中没有定义。具体来说,你提交的字段 ["list"]
在云数据库的 schema
中不存在,导致数据库验证失败。
解决方法:
-
检查云数据库的
schema
文件:- 打开云数据库的
schema
文件,确认是否定义了list
字段。 - 如果没有定义,你需要在
schema
文件中添加list
字段。
- 打开云数据库的
-
添加
list
字段到schema
文件:- 在
schema
文件中,找到对应的表定义,添加list
字段。例如:{ "bsonType": "object", "required": [], "properties": { "list": { "bsonType": "array", "description": "列表字段" } } }
- 根据你的实际需求,调整
bsonType
和其他属性。
- 在
-
重新提交数据:
- 确保你提交的数据中只包含
schema
文件中定义的字段。 - 如果
list
字段是必须的,确保在提交数据时包含该字段。
- 确保你提交的数据中只包含
-
检查代码逻辑:
- 检查你的代码,确保在提交数据时没有误传其他未定义的字段。
示例代码:
假设你有一个云函数或前端代码在提交数据,确保提交的数据符合 schema
定义:
// 假设这是你要提交的数据
const data = {
list: [1, 2, 3], // 确保 list 字段在 schema 中定义
otherField: "value" // 确保 otherField 也在 schema 中定义
};
// 提交数据到云数据库
uniCloud.database().collection('yourCollection').add(data)
.then(res => {
console.log('数据提交成功', res);
})
.catch(err => {
console.error('数据提交失败', err);
});