uni-app Error: [Db]: VALIDATION_ERROR 数据库验证失败 提交的字段["list"]在云端数据表的schema文件中不存在

发布于 1周前 作者 caililin 来自 Uni-App

uni-app Error: [Db]: VALIDATION_ERROR 数据库验证失败 提交的字段[“list”]在云端数据表的schema文件中不存在

示例代码:

Error: [Db]: VALIDATION_ERROR:数据库验证失败:提交的字段["list"]在云端数据表的schema文件中不存在

操作步骤:

,,,

预期结果:

,,,

实际结果:

,,,

bug描述:

Error: [Db]: VALIDATION_ERROR:数据库验证失败:提交的字段["list"]在云端数据表的schema文件中不存在

Image

Image

Image


4 回复

我也遇到了这个问题,今天才会这样子,是不是官方出bug了…


解决了,我升级到最新版本的编辑器,然后重新上传下schema文件就好了

搞了两个小时都没搞定 然后吃个饭回来试了哈 又可以了 莫名其妙的 还以为有bug呢

在 uni-app 开发中,遇到 [Db]: VALIDATION_ERROR 错误,通常是因为你提交的数据字段在云数据库的 schema 文件中没有定义。具体来说,你提交的字段 ["list"] 在云数据库的 schema 中不存在,导致数据库验证失败。

解决方法:

  1. 检查云数据库的 schema 文件

    • 打开云数据库的 schema 文件,确认是否定义了 list 字段。
    • 如果没有定义,你需要在 schema 文件中添加 list 字段。
  2. 添加 list 字段到 schema 文件

    • schema 文件中,找到对应的表定义,添加 list 字段。例如:
      {
        "bsonType": "object",
        "required": [],
        "properties": {
          "list": {
            "bsonType": "array",
            "description": "列表字段"
          }
        }
      }
    • 根据你的实际需求,调整 bsonType 和其他属性。
  3. 重新提交数据

    • 确保你提交的数据中只包含 schema 文件中定义的字段。
    • 如果 list 字段是必须的,确保在提交数据时包含该字段。
  4. 检查代码逻辑

    • 检查你的代码,确保在提交数据时没有误传其他未定义的字段。

示例代码:

假设你有一个云函数或前端代码在提交数据,确保提交的数据符合 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);
  });
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!