用途:在 JavaScript/TypeScript 中访问 SurrealDB,官方 SDK 为 npm 包 surrealdb,适用于 Node.js、Deno、Bun 和浏览器,可连接远程实例(WebSocket/HTTP)或运行进程内嵌引擎。
安装:npm i surrealdb(也可用 pnpm/yarn/bun 安装)。
基本用法:先 connect,再 use 指定 namespace 与 database,然后 signin 认证,结束时 close。示例:await db.connect("ws://127.0.0.1:8000/rpc"); await db.use({ namespace: "test", database: "test" }); await db.signin({ username: "root", password: "root" }); 本地服务可用 surreal start -u root -p root rocksdb:mydb 或内存模式启动。
认证:支持 root、namespace、database 用户登录,以及基于 DEFINE ACCESS 的 record(scope)访问,提供 signin、signup、authenticate、invalidate、info。
数据操作:create、select、update、upsert、merge、patch、insert、relate(图关系)、delete,表名可用字符串或 RecordId。
查询:db.query(sql, vars) 执行 SurrealQL,返回每条语句一个结果;用户输入必须用绑定参数,禁止字符串拼接。另有 db.let/db.unset 设置会话参数、db.run 调用已定义函数、db.queryRaw 返回原始 RPC 响应。
实时查询:db.live() 订阅表变更,需 WebSocket 或内嵌连接,不支持 HTTP;用 db.kill 停止订阅。
限制与说明:资料未提供收费、价格、平台兼容细节或性能数据;内嵌引擎、数据类型与实时查询的更多细节见其 references 文档。