uni-app 未找到集合[user-address]对应的schema

uni-app 未找到集合[user-address]对应的schema

操作步骤:

  • 直接新增加一个表

预期结果:

  • 在前端可以直接读取

实际结果:

  • 前端报错

bug描述:

vendor.js?t=wechat&s=1650065955820&v=91538257e3d1bfd3156715901a872a31:1 PERMISSION_ERROR 未找到集合[user-address]对应的schema

Image Image

4 回复

看一下连的是本地云函数还是云端云函数,schema在本地项目内有没有同步


可能是没有上传

根据"未找到集合[xxxx]对应的schema"这个问题,可以尝试一下找到uniCloud文件夹下的database文件夹,把里面包含里的xxxx.schema.json文件右键点击上传DB schema,上传完成可以再看看还有没有这个问题。

在 uni-app 开发中,如果你遇到“未找到集合 [user-address] 对应的 schema”这样的错误,通常是因为你在使用 uniCloud 的云数据库时,没有正确配置或定义对应的集合(collection)的 schema。

可能的原因和解决方法:

  1. 集合名称错误

    • 确保你在代码中使用的集合名称(如 user-address)与云数据库中实际创建的集合名称完全一致,包括大小写。
    • 如果集合名称拼写错误或不存在,就会报这个错误。
  2. 未创建集合

    • 在 uniCloud 控制台中,确保你已经创建了名为 user-address 的集合。
    • 如果没有创建集合,需要先在 uniCloud 控制台中手动创建。
  3. 未定义 schema

    • 在 uniCloud 中,集合的 schema 是用于定义集合中字段的结构和规则的。
    • 如果你没有为 user-address 集合定义 schema,可能会导致这个错误。
    • 你可以在 uniCloud 控制台中为 user-address 集合定义 schema,或者在本地开发环境中通过 uniClouddb_init.json 文件来定义。
  4. 本地开发环境未同步

    • 如果你在本地开发环境中修改了 schema,但没有同步到云端,也可能会导致这个错误。
    • 使用 uniCloud 提供的命令行工具或 HBuilderX 的云函数同步功能,将本地的 schema 同步到云端。
  5. 云函数未部署

    • 如果你在云函数中使用了 user-address 集合,但云函数没有部署到云端,也可能会导致这个错误。
    • 确保你已经将相关的云函数部署到 uniCloud 云端。

具体操作步骤:

  1. 检查集合名称

    • 在 uniCloud 控制台中,检查是否存在 user-address 集合。
  2. 定义 schema

    • 在 uniCloud 控制台中,进入 user-address 集合,点击“Schema”选项卡,定义字段和规则。
    • 或者在本地项目的 uniCloud/database 目录下,找到或创建 db_init.json 文件,定义 user-address 集合的 schema。
  3. 同步 schema

    • 在 HBuilderX 中,右键点击 uniCloud 目录,选择“上传所有云函数及公共模块”或“上传数据库 schema”,将本地的 schema 同步到云端。
  4. 部署云函数

    • 在 HBuilderX 中,右键点击云函数目录,选择“上传并部署”,将云函数部署到云端。

示例 db_init.json 文件:

{
  "collections": [
    {
      "collection": "user-address",
      "schema": {
        "bsonType": "object",
        "required": ["userId", "address"],
        "properties": {
          "userId": {
            "bsonType": "string",
            "description": "用户ID"
          },
          "address": {
            "bsonType": "string",
            "description": "用户地址"
          }
        }
      }
    }
  ]
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!