Bmob 跨端数据库 JavaScript SDK
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_92a793e0/bmob-database-javascript。
技能介绍
要解决什么问题
你在浏览器、Node、各类小程序或 Electron 里接 Bmob 云数据库时,最容易踩坑的是:混用两代 SDK(旧 bmob-min.js 的 Bmob.Object.extend 回调 vs 新 hydrogen-js-sdk 的 Bmob.Query Promise)、初始化方式写错(Secret Key + API 安全码 vs Application ID + REST API Key 混用),以及把 REST API Key 打进前端 bundle 或 忘记表级 ACL。
本技能只覆盖 hydrogen-js-sdk 3.0+(同一 Bmob-.min.js 跨端),明确 不要回退 旧版 API。
技能如何组织内容
- 初始化:方式 A(Secret Key + API 安全码,公开客户端推荐)与方式 B(Application ID + REST API Key,迁移或与 REST 共用 Key);密钥走环境变量,CDN 用动态 latest 而非写死版本号。
- 数据操作:新增 / 按
objectId读写 / 改字段 / 删行 / 删字段;查询默认 100 条、单次上限 1000,更多用skip+limit或 BQL。 - 条件查询:
equalTo、containedIn、matchesQuery等组合;include关联、order、分页。 - 安全清单:不用 Master Key、生产关
Bmob.debug(true)、小程序配域名白名单与wx.login()后再Bmob.User.login、批量操作 ≤50、写入表配 ACL。 - 保留字段:
objectId、createdAt、updatedAt不可手填;读主键用res.objectId;时间比较需考虑微秒精度(比较时 +1 秒)。
适用边界
- Node 服务端须源码引入,不能当浏览器 CDN 脚本用。
- 微信小程序 npm 引入需先在开发者工具 构建 npm。
- 复杂统计、全表扫描应走 BQL 或 REST,别一次
limit(1000)硬拉。 - ACL、错误码、各宿主引入细节见关联 skill(如
bmob-acl-and-roles、bmob-error-codes、references/platform-init.md)。
使用场景
- 在微信小程序里用 `Bmob.Query` 对用户资料表做增删改查,上线前核对 request 合法域名并完成 npm 构建
- 把仍走 `Bmob.Object.extend` 回调的旧 H5 或混合 App,迁移到 hydrogen-js-sdk 3.0 的 Promise 写法
- 在 React/Vue/Vite 前端用 Secret Key + API 安全码初始化,通过环境变量注入密钥而非写死 REST API Key
- Node 脚本源码引入 SDK,对业务表做批量更新(单次 ≤50 条)或用 skip/limit 分页拉超过默认 100 条的数据
适合人员
- 负责微信小程序接 Bmob、要在真机联调前搞定域名白名单与 `wx.login` 后再登录会话的前端工程师
- 维护仍混用 1.x/2.x 初始化或旧 callback API 的存量 Web 项目、需要统一到 3.0 查询风格的开发者
- 在新 SPA 或跨端壳里新建 Bmob 数据层、希望按公开客户端规范选用 Secret Key 并配表 ACL 的全栈开发
- 准备上线新写入表、需要对照安全清单关闭 debug、限制批量操作并避免 Master Key 进客户端的负责人