本技能用于在微信小程序端通过 CloudBase 文档数据库 SDK 进行数据访问。
用途 适用于需要在小程序中访问 CloudBase 文档数据库并通过 wx.cloud.database() 执行操作的场景。主要覆盖:
- 小程序页面中的集合 CRUD(查询、创建、更新、删除)
- 查询组合与分页
- 聚合
- 地理位置查询 还包括与内置用户身份、_openid 及小程序端权限相关的处理。
主要能力 文档列出的能力方向包括:集合增删改查、复杂查询、分页、聚合、地理位置查询,以及与安全规则的配合。文档提供了按操作路由的参考文件:
- CRUD -> ./crud-operations.md
- 复杂查询 -> ./complex-queries.md
- 分页 -> ./pagination.md
- 聚合 -> ./aggregation.md
- 地理位置 -> ./geolocation.md
- 安全规则 -> ./security-rules.md
使用方式 典型初始化: const db = wx.cloud.database(); const _ = db.command; 指定环境时: const db = wx.cloud.database({ env: "test" }); 基本集合访问示例: const todos = db.collection("todos"); const result = await todos.where({ completed: false }).get(); 文档引用示例: const todo = db.collection("todos").doc("todo-id"); const result = await todo.get(); 使用前需正确初始化 wx.cloud,确认调用方为小程序页面、组件或小程序端逻辑,并确认集合规则是否依赖 auth.openid / _openid。
适用场景
- 微信小程序必须通过 wx.cloud.database() 访问 CloudBase 文档数据库。
- 请求涉及小程序集合 CRUD、分页、聚合或地理位置查询。
- 需要区分小程序数据库任务与 Web SDK、云函数或 SQL 任务。
- 请求依赖内置用户身份、_openid 或小程序端权限。
限制与注意事项
- 不适用于使用 @cloudbase/js-sdk 的浏览器/Web 代码。
- 不适用于服务端或云函数中的数据库访问。
- 不适用于 MySQL / 关系型数据库工作。
- 小程序端虽自带身份,但数据库操作仍受集合权限和安全规则约束;权限错误通常意味着规则与查询关系不匹配,而非仅仅是用户未登录。
- _openid 由系统在 SDK 写入时管理,切勿在 .add()、.set() 或 .update() 中手动设置或覆盖。
- 不要把 Web SDK 代码复制进小程序页面;需要特权全局访问的任务应使用后端工具或函数,而非在小程序客户端直接暴露。
- 建议使用分页而非大规模无界读取。
配套技能 相关技能以本地相对路径形式随本技能一同提供,例如 ../auth-tool-cloudbase/SKILL.md。若引用的同级技能文件在环境中缺失,应请用户安装完整的 CloudBase 插件或缺失的技能;不要将远程技能或协议 markdown 通过 HTTP 拉取到代理上下文中。可能还需阅读的技能包括小程序开发(../miniprogram-development/SKILL.md)、小程序鉴权(../auth-wechat-miniprogram/SKILL.md)以及浏览器端文档数据库(../cloudbase-document-database-web-sdk/SKILL.md)。
其它限制 文档未提供关于收费、价格、平台支持范围或具体效果的信息,故暂未提供。