# @capgo/capacitor-fast-sql 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-fast-sql/

版本：8\.3\.1
npm 元数据更新时间：2026-11-09T07:41:10.950Z
中文译文更新时间：2026-11-09T03:51:30.193Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-fast-sql
原文对照：https://npmcn.com/package/%40capgo/capacitor-fast-sql/?lang=original
项目主页：https://capgo.app/docs/plugins/fast-sql/
源码仓库：https://github.com/Cap-go/capacitor-fast-sql

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.4 MB，67 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2025-10-29T09:00:10.563Z
- 最新版本发布：2026-11-09T07:41:10.619Z
- 近 30 天下载量：41773（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：78（近 12 个月 72 个）

## 中文简介

具有自定义协议的高性能本地 SQLite 插件,用于高效同步操作和索引 DB 替换

## 安装

```sh
npm install @capgo/capacitor-fast-sql
```

也可以使用：`pnpm add @capgo/capacitor-fast-sql`、`yarn add @capgo/capacitor-fast-sql`、`bun add @capgo/capacitor-fast-sql`

## README

# @ capgo/ 电容- fast- sql

在您的 Capacitor app 中快速运行 SQLite : 查询会通过一个本地的 HTTP 通道而不是桥, 因此大结果集和同步任务保持快速 。 用可选的加密方式替换索引数据库.

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-fast-sql)](https://capgo.app/?ref=plugin_fast_sql)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_fast_sql)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_fast_sql) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-fast-sql` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _加上@capgo/capor-fast-sql到我的Capacitor应用上_ [代理设置指南](https://capgo.app/agents/?ref=plugin_fast_sql) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_fast_sql)

![@capgo/capacitor-fast-sql for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-fast-sql/main/assets/github-social-preview.png)

## 主要特点

-   **快速路径**数字 : `connect()` 打开数据库并启动本地服务器, `getServerInfo()` 返回其端口和直接调用符号.
-   **SQL 组合键**数字 : `execute()` 运行带有参数的语句,加上批量操作.
-   **交易**数字 : `beginTransaction()`, (中文(简体) ), `commitTransaction()` 财务报告和审定财务报表 `rollbackTransaction()`。 。 。 .
-   **加密**:通过SQLCipher在iOS和Android上的可选加密数据库.
-   **网页**数字 : `configureWeb()` 设置正式的 SQLite Wasm 模块,当您的服务器允许时, OPFS 将持续 .
-   **平台**:iOS,Android和Web. iOS和Android上的原生SQLite,网络上的SQLite Wasm.

## 为什么是SQL快?

传统的Capacitor插件通过JavaScript桥将数据序列化,随着大型数据集的出现而变得效率低下. Fast SQL通过建立本地的HTTP服务器直接进行本土通信来解决了这个问题,使它成为:

-   **本地第一同步系统** (CRDT,业务转换)
-   **索引数据库替换** 执行中断/受限的平台
-   **大型数据集业务** 需要高吞吐量
-   **批量操作** 数以千计的行
-   **二进制数据存储** (BLOBs,文档)

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/fast-sql/ 互联网档案馆的存檔,存档日期2014-12-21](https://capgo.app/docs/plugins/fast-sql/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |

> **说明:** 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-fast-sql` plugin in my project.
```

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capgo/capacitor-fast-sql
npx cap sync
```

## 概览

此插件直接提供本地的 SQLite 数据库访问权限, 由 : [电容-布洛布写作机](https://github.com/diachedelic/capacitor-blob-writer). 它不使用Capacitor的标准桥(将数据串行效率低下),而是建立了一个本地的HTTP服务器,用于大数据集和同步操作的最佳性能.

### 关键特性

-   **自定义 HTTP 协议**: Bypasses Capacitor 的桥能以大数据达到25x更快的性能
-   **直接原生 SQLite**: 完整 SQL 支持交易、批量操作和二进制数据
-   **同步亲切**: 为本地同步系统(CRDT、业务转换等)所设计
-   **索引 DB 替换**: 为中断/受限的索引数据库执行提供可靠的替代办法
-   **横线**:iOS、Android和Web(使用 [@sqlite.org/sqlite-wasm (英语)](https://github.com/sqlite/sqlite-wasm) 与业务方案融资战略的持久性)
-   **可选 RAG 矢量系统**: 坚持许多命名的向量存储, 用于回收- 增强生成,而不添加本地依赖性

## iOS 配置

此插件运行本地 HTTP 服务器 `localhost`iOS App Transport Security (ATS) 默认屏蔽清除文本 HTTP, 所以你 **必须** 允许您的本地网络 `Info.plist`数字 :

```xml
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsLocalNetworking</key>
    <true/>
</dict>
```

这只允许清晰的文本回回回地址( C)`localhost` 编号 : `127.0.0.1`它不会削弱苯丙胺类兴奋剂的外部联系.

## Android 配置

此插件运行本地 HTTP 服务器 `localhost` 绕过Capacitor的桥进行表演. Android 9+ 块 默认的清除文本( 非 HTTPS) 流量, 所以您 **必须** 允许它 `localhost`。 。 。 .

**备选案文A, 仅限本地主机(建议):**

创建 `android/app/src/main/res/xml/network_security_config.xml`数字 :

```xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="false">localhost</domain>
        <domain includeSubdomains="false">127.0.0.1</domain>
    </domain-config>
</network-security-config>
```

那就在你的书中提及 `AndroidManifest.xml`数字 :

```xml
<application
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>
```

**备选案文B, 允许所有清晰文本( 简单但安全性较差 ) :**

```xml
<application
    android:usesCleartextTraffic="true">
    ...
</application>
```

## 加密

### 机器人

加密用途 [SQLCipher 数据](https://www.zetetic.net/sqlcipher/) 并被选入。 将 SQLCipher 依赖添加到您的 **应用程序级** `build.gradle`数字 :

```gradle
dependencies {
    implementation 'net.zetetic:sqlcipher-android:4.13.0'
}
```

然后与加密连接启用 :

```typescript
const db = await FastSQL.connect({
  database: 'secure',
  encrypted: true,
  encryptionKey: 'my-secret-key',
});
```

如果 SQLCipher 没有安装 `encrypted: true` ,插件返回清晰的错误消息而不是崩溃.

### iOS系统

SQLCipher在iOS上是可选的. 插件没有它会构建; 加密调用会返回 `Encryption is not available in this build` 除非安装了 SQLCipher .

要通过 CocoaPods 加密, 请更新您的 `ios/App/Podfile` 之后 `capacitor install`编号 :`cap sync` 以使用 SQLCipher 子规格 :

```ruby
pod 'CapgoCapacitorFastSql/SQLCipher', :path => '../../node_modules/@capgo/capacitor-fast-sql'
```

然后运行 `pod install` 输入 `ios/App` 目录。 如果您跳过此子规格, 请保留 `encrypted: false`。 。 。 .

## 网络平台

在网络上, 此插件使用正式 [@sqlite.org/sqlite-wasm (英语)](https://github.com/sqlite/sqlite-wasm) 与 [财务处](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) 坚持不懈 SQLite 直接读取并写入数据库文件,它并没有被完全装入RAM或通过索引数据库镜像.

OPFS要工作,您的网络服务器必须发送 Cross-Origin 孤立头:

```http
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
```

与 Vite 连接 :

```typescript
import { defineConfig } from 'vite';

export default defineConfig({
  server: {
    headers: {
      'Cross-Origin-Opener-Policy': 'same-origin',
      'Cross-Origin-Embedder-Policy': 'require-corp',
    },
  },
  optimizeDeps: {
    exclude: ['@sqlite.org/sqlite-wasm'],
  },
});
```

可选的网络配置( 第一次访问前) `connect()`:

```typescript
import { CapgoCapacitorFastSql, FastSQL } from '@capgo/capacitor-fast-sql';

await CapgoCapacitorFastSql.configureWeb({
  useOpfs: true,
});

const db = await FastSQL.connect({ database: 'myapp' });
```

`configureWeb()` 是iOS和Android上的禁用程序 无条件打电话是安全的.

> **说明:** 以前由 sql.js 存储在索引数据库中的现有数据库不会被自动迁移. 必要时在升级后重新播种或导入数据.

## 使用量

### 基本示例

```typescript
import { FastSQL } from '@capgo/capacitor-fast-sql';

// Connect to database
const db = await FastSQL.connect({ database: 'myapp' });

// Create table
await db.execute(`
  CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT UNIQUE
  )
`);

// Insert data
const result = await db.run(
  'INSERT INTO users (name, email) VALUES (?, ?)',
  ['John Doe', 'john@example.com']
);
console.log('Inserted row ID:', result.insertId);

// Query data
const users = await db.query('SELECT * FROM users WHERE name LIKE ?', ['John%']);
console.log('Users:', users);

// Close connection
await FastSQL.disconnect('myapp');
```

### 交易示例

```typescript
const db = await FastSQL.connect({ database: 'myapp' });

try {
  await db.transaction(async (tx) => {
    await tx.run('INSERT INTO accounts (name, balance) VALUES (?, ?)', ['Alice', 1000]);
    await tx.run('INSERT INTO accounts (name, balance) VALUES (?, ?)', ['Bob', 500]);
    await tx.run('UPDATE accounts SET balance = balance - 100 WHERE name = ?', ['Alice']);
    await tx.run('UPDATE accounts SET balance = balance + 100 WHERE name = ?', ['Bob']);
  });
  console.log('Transaction successful!');
} catch (error) {
  console.error('Transaction failed:', error);
}
```

### 批量操作

```typescript
const db = await FastSQL.connect({ database: 'myapp' });

const results = await db.executeBatch([
  { statement: 'INSERT INTO logs (message) VALUES (?)', params: ['Log 1'] },
  { statement: 'INSERT INTO logs (message) VALUES (?)', params: ['Log 2'] },
  { statement: 'INSERT INTO logs (message) VALUES (?)', params: ['Log 3'] },
]);
```

### 关键值存储(以移动为重点的)

```typescript
import { KeyValueStore } from '@capgo/capacitor-fast-sql';

const kv = await KeyValueStore.open({
  database: 'myapp',
  encrypted: true,
  encryptionKey: 'super-secret-key',
});

await kv.set('session', { token: 'abc123', expiresAt: 1710000000 });
const session = await kv.get('session');
await kv.remove('session');
```

### RAG 矢量存储器(可选)

`FastSQLVectorStore` 提供不受依赖的矢量相容辅助器 `@react-native-rag/op-sqlite`。它将嵌入到 SQLite 中作为二进制 Float32 向量存储,并在 TypeScript 中计算同位素相似性,所以它在这个插件工作的任何地点都有效.

每个商店都由 `store` 选项,因此一个数据库可以按需要持有尽可能多的独立矢量存储:

```typescript
import { FastSQLVectorStore } from '@capgo/capacitor-fast-sql';

const docs = await FastSQLVectorStore.open({
  database: 'rag',
  store: 'docs',
  embeddings,
});

const tickets = await FastSQLVectorStore.open({
  database: 'rag',
  store: 'tickets',
  embeddings,
});

await docs.add({
  document: 'Capgo ships instant updates for Capacitor apps.',
  metadata: { source: 'docs' },
});

const results = await docs.query({
  queryText: 'How do instant updates work?',
  nResults: 3,
});

await docs.close();
await tickets.close();
```

您也可以使用没有嵌入提供者的预计算嵌入:

```typescript
const store = await FastSQLVectorStore.open({
  database: 'rag',
  store: 'offline-embeddings',
  embeddingDimension: 384,
});

await store.add({
  id: 'intro',
  document: 'Local RAG entry',
  embedding: [0.12, 0.08, 0.31 /* ...384 values */],
});

const matches = await store.query({
  queryEmbedding: [0.11, 0.09, 0.29 /* ...384 values */],
  nResults: 5,
});
```

> 注:网页支持仅用于最小测试。 主要焦点是iOS/Android.

## API 密码

-   [`connect(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-connect)
-   [`disconnect(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-disconnect)
-   [`getServerInfo(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-getserverinfo)
-   [`execute(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-execute)
-   [`beginTransaction(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-begintransaction)
-   [`commitTransaction(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-committransaction)
-   [`rollbackTransaction(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-rollbacktransaction)
-   [`getPluginVersion()`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-getpluginversion)
-   [`configureWeb(...)`](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-configureweb)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-type-aliases)
-   [数字](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-enums)

用于高性能 SQLite 数据库访问的快速 SQL 插件 .

此插件使用基于 HTTP 的自定义协议来高效传输数据 , 绕过Capacitor的标准桥,以配合同步操作提高性能.

### 连接(...)

```typescript
connect(options: SQLConnectionOptions) => Promise<{ port: number; token: string; database: string; persistent?: boolean; binaryProtocolVersion?: number; }>
```

初始化数据库连接并启动 HTTP 服务器 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[SQLConnectionOptions](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-sqlconnectionoptions)` | \- 连接选项 |

**回返情况:** `Promise<{ port: number; token: string; database: string; persistent?: boolean; binaryProtocolVersion?: number; }>`

**自:** 0.0.1 资源

* * *

### 断开(...)

```typescript
disconnect(options: { database: string; }) => Promise<void>
```

关闭数据库连接并停止HTTP服务器.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `{ database: string; }` | \- 关闭数据库名称 |

**自:** 0.0.1 资源

* * *

### 获取ServerInfo(...)

```typescript
getServerInfo(options: { database: string; }) => Promise<{ port: number; token: string; persistent?: boolean; binaryProtocolVersion?: number; }>
```

获取 HTTP 服务器端口和指使符进行直接通信.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `{ database: string; }` | \- 数据库名称 |

**回返情况:** `Promise<{ port: number; token: string; persistent?: boolean; binaryProtocolVersion?: number; }>`

**自:** 0.0.1 资源

* * *

### 执行(...)

```typescript
execute(options: { database: string; statement: string; params?: SQLValue[]; }) => Promise<SQLResult>
```

通过 Capacitor 桥执行 SQL 查询(用于简单的查询) . 为了在大型数据集中更好的性能,直接通过SQLConnection类使用HTTP协议.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `{ database: string; statement: string; params?: SQLValue[]; }` | \- 查询参数 |

**回返情况:** `Promise<[SQLResult](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-sqlresult)>`

**自:** 0.0.1 资源

* * *

### 开始交易(...)

```typescript
beginTransaction(options: { database: string; isolationLevel?: IsolationLevel; }) => Promise<void>
```

开始数据库交易 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `{ database: string; isolationLevel?: [IsolationLevel](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-isolationlevel); }` | \- 交易选项 |

**自:** 0.0.1 资源

* * *

### 执行交易(...)

```typescript
commitTransaction(options: { database: string; }) => Promise<void>
```

提交当前交易 .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `{ database: string; }` | \- 数据库名称 |

**自:** 0.0.1 资源

* * *

### 回滚变换(...)

```typescript
rollbackTransaction(options: { database: string; }) => Promise<void>
```

倒转当前交易.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `{ database: string; }` | \- 数据库名称 |

**自:** 0.0.1 资源

* * *

### 获取 PluginVersion ()

```typescript
getPluginVersion() => Promise<{ version: string; binaryProtocolVersion?: number; }>
```

获取本地 Capacitor 插件版本 .

**回返情况:** `Promise<{ version: string; binaryProtocolVersion?: number; }>`

**自:** 0.0.1 资源

* * *

### 配置Web (...)

```typescript
configureWeb(config: WebConfig) => Promise<void>
```

为正式的SQLite Wasm模块配置网络专用选项.

叫这个 **在此之前** 首个 `connect()` 如果您需要禁用 OPFS 调用 或提供定制工人。 这种方法是iOS和Android上的禁用.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`config`** | `[WebConfig](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-webconfig)` | \- 网页配置选项 |

**自:** 0.0.1 资源

* * *

### 接口

#### SQLC 选项

数据库连接选项

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`transport`** | `[NativeSQLTransport](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-nativesqltransport)` | 原生HTTP数据编码. 二进制 v1 发送 BLOB 作为原始字节没有基数64. Opt-in on iOS/Android;需要本地插件来广告二进制 v1. JSON仍然是默认的. 二进制是实验性的;只在设备性能和相容性测试之后的将来主机中重新考虑默认. 没有失败的写入会在另一个传输上重试 . | `'http-json'` |  |
| **`database`** | `string` | 数据库名称( 文件将在 app 数据目录中创建) |  |  |
| **`encrypted`** | `boolean` | 启用加密( 只有iOS/ Android) |  |  |
| **`encryptionKey`** | `string` | 加密密钥( 如果加密为真实则需要) |  |  |
| **`readOnly`** | `boolean` | 打开现有的本地数据库只读 。 写入和缺失文件打开失败 。 WAL 模式更改会跳过只读连接 。 Web Worker 传输拒绝此选项, 而不是默开可写 . |  |  |
| **`walMode`** | `boolean` | 启用 WAL( Write-Ahead Digging) 日记模式, 以便更好的货币和性能 。 执行 `PRAGMA journal_mode = WAL` 在打开数据库后立即打开. |  | 8.0.49 (中文(简体) ) |
| **`performancePresets`** | `boolean` | 打开数据库后应用推荐的 SQLite 性能 PRAGMAs : `synchronous = NORMAL`, (中文(简体) ), `busy_timeout = 5000`, (中文(简体) ), `cache_size = -2000`,以及 `foreign_keys = ON`。 。 。 . |  | 8.0.49 (中文(简体) ) |

#### SQL 结果

SQL 查询执行的结果

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`rows`** | `SQLRow[]` | 通过查询返回行( 对于 SELECT 语句) |
| **`rowsAffected`** | `number` | 受查询影响的行数(对于INSERT/UPDATE/DELETE) |
| **`insertId`** | `number` | 最后一个插入行的ID(用于自动递增的INSERT语句) |

#### SQLRow 图像

SQL 行结果 - 按列名索引的值

#### Uint8 阵列

一个8位无符号整数的打出数组。 内容初始化为0. 如果 无法分配请求的字节数 .

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`BYTES_PER_ELEMENT`** | `number` | 数组中每个元素的字节大小. |
| **`buffer`** | `[ArrayBufferLike](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybufferlike)` | 这个 [矩阵缓冲](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer) 实例. |
| **`byteLength`** | `number` | 数组的字节长度 . |
| **`byteOffset`** | `number` | 数组的字节相抵. |
| **`length`** | `number` | 数组的长度 . |

| 方法 | 签署 | 说明 |
| --- | --- | --- |
| **复制时间** | (目标:数量,开始:数量,结束?:数量:qq未定义) =>此 | 复制开始和结束所识别的数组的一部分, 从位置目标开始返回到相同的数组后返回此对象 |
| **每个** | (数值:数字,指数:数字,数组: [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)未知,这个Arg | 确定一个数组的所有成员是否都满足指定的测试. |
| **填满** | (数值:数字,起始数?:数字:qq未定义,结束?:数字:qq未定义)=>此 | 填入以数值开始和结束的段落后返回此对象 |
| **过滤器** | (数值:数字,指数:数字,数组: [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)任何,这个Arg [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) | 返回符合召回函数中指定条件的数组元素. |
| **寻找** | (数值:数字,指数:数字,obj: [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array))"布尔",此Arg?:有)"QQ"数字未定义" | 返回数组中第一个元素的数值,其中上游是真实的,而未另作定义. |
| **查找Index 数据** | (数值:数字,指数:数字,obj: [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)\- 布尔,这个Arg | 返回数组中第一个元素的索引,其中上游为真,否则为 -1. |
| **每个** | (召回fn:(数值:数字,索引:数字,数组:) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)虚空,这个Arg? 无效 | 为数组中的每个元素执行指定的动作. |
| **索引** | (搜索元素:号码,来自Index?:号码QQ未定义)QQ号码 | 返回数组中第一个值的索引. |
| **加入时** | (分隔符?:字符串 qq未定义) qq字符串 | 添加由指定的分隔符字符串分隔的数组的所有元素. |
| **最后一个 索引** | (搜索元素:号码,来自Index?:号码QQ未定义)QQ号码 | 返回数组中最后一个值出现的索引. |
| **地图** | (召回fn:(数值:数字,索引:数字,数组:) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)号码,这个Arg [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) | 在一个数组的每个元素上调用定义的回调函数,并返回包含结果的数组. |
| **减少** | (召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)) qq号码 qq号码 | 为数组中的所有元素调用指定的调用函数。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供. |
| **减少** | (召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)) QQ数字,初等值: 数字 QQ数字 |  |
| **减少** | <U>(召回: (先前的值: U, 当前值: 数, 当前Index: 数, 数组 :) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array))"U","初华":"U" | 为数组中的所有元素调用指定的调用函数。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供. |
| **减少右边** | (召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)) qq号码 qq号码 | 调用一个数组中所有元素的指定调用函数, 按下行顺序。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供. |
| **减少右边** | (召回: (上一个数值: 数字, 当前数值: 数字, 当前索引: 数字, 数组 :) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)) QQ数字,初等值: 数字 QQ数字 |  |
| **减少右边** | <U>(召回: (先前的值: U, 当前值: 数, 当前Index: 数, 数组 :) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array))"U","初华":"U" | 调用一个数组中所有元素的指定调用函数, 按下行顺序。 召回函数的返回值是累积结果,在召回函数的下个调取中作为参数提供. |
| **倒转** | (单位:千美元) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) | 反转矩阵中的元素. |
| **设定** | (阵列 : [矩阵类似](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraylike)< 数字> , 偏移 ? : 数字 qq 未定义 qq 无效 | 设置一个值或数组值. |
| **切开** | (开始? :数字qq未定义,结束?:数字qq未定义)qq [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) | 返回数组的一节. |
| **有点** | (数值:数字,指数:数字,数组: [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)未知,这个Arg | 确定指定的召回函数是否为数组中的任何元素返回真实. |
| **排序** | (比较Fn?): ((a: 数字,b: 数字) \* \* \* \* \* 数字) \* \* \* 未定义) \* \* \* \* \* \* | 排序数组. |
| **子阵列** | (开始?):数字qq未定义,结束?:数字qq未定义)qq [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) | 获得新的 [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) 意见 [矩阵缓冲](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer) 存储此数组,并引用起始、包含、上至结尾、独有的元素. |
| **转到本地结构** | () qq 字符串 | 使用当前语言将数字转换为字符串. |
| **倒数** | () qq 字符串 | 返回数组的字符串表示式. |
| **值** | (单位:千美元) [Uint8 阵列](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array) | 返回指定对象的原始值. |

#### 矩阵类似

| Prop | 类型 |
| --- | --- |
| **`length`** | `number` |

#### 矩阵缓冲键

允许 [矩阵缓冲](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer) arrayBufferView 和相关类型矩阵的缓冲类型.

| Prop | 类型 |
| --- | --- |
| **`ArrayBuffer`** | `[ArrayBuffer](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer)` |

#### 矩阵缓冲

代表二进制数据的原始缓冲,用于存储数据 不同键入数组。 无法直接读取或写入矩阵缓冲器, 但是可以传递到一个被键入的数组或 DataView 对象来解释原始 视需要进行缓冲.

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`byteLength`** | `number` | 唯相读取. 长度 [矩阵缓冲](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer) (以字节表示). |

| 方法 | 签署 | 说明 |
| --- | --- | --- |
| **切开** | (开始:数字,结束? 数字:没有定义) [矩阵缓冲](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer) | 返回 a 的一节 [矩阵缓冲](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-arraybuffer)。 。 。 . |

#### 网络配置

官方SQLite Wasm模块的Web平台配置. 使用方式 `configureWeb()` 第一次选举之前 `connect()`。 。 。 .

OPFS的持久性需要您网络服务器上的 Cross-Origin 隔离头: `Cross-Origin-Opener-Policy: same-origin` 财务报告和审定财务报表 `Cross-Origin-Embedder-Policy: require-corp`。 。 。 .

| Prop | 类型 | 说明 | 默认 |
| --- | --- | --- | --- |
| **`useOpfs`** | `boolean` | 偏好通过 Web Worker( 默认 ) 选择 OPFS 持久性 : `true`) (中文(简体) ). 当 OPFS 不可用时,插件会倒回非持久性数据库并记录一个警告. | `true` |
| **`requirePersistence`** | `boolean` | 拒绝网络连接, 除非工人确认持续存储 。 兼容性默认为虚假 。 考虑在下一个Capacitor主要课程中要求默认持续,而不是改变未成年人的倒置行为. | `false` |
| **`worker`** | `[SqliteWebWorker](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-sqlitewebworker)` | SQLite Wasm 的自定义工人实例或工厂。 高级: 覆盖默认工人 `@sqlite.org/sqlite-wasm`。 。 。 . |  |

### 类型异名

#### 本地SQL 运输

原生HTTP数据编码. JSON仍然是兼容默认.

`'http-json' | 'http-binary'`

#### 质量

插件支持的 SQL 值类型

`string | number | boolean | null | [Uint8Array](https://npmcn.com/package/%40capgo/capacitor-fast-sql/#readme-uint8array)`

#### 矩阵缓冲像

`ArrayBufferTypes[keyof ArrayBufferTypes]`

#### Sqlite 网络工人

浏览器 Worker 实例或返回一个的厂家 . 曾经覆盖默认的 SQLite Wasm 工人 .

`Worker | (() => Worker)`

### 数字

#### 隔离级别

| 成员 | 数值 |
| --- | --- |
| **`ReadUncommitted`** | `'READ UNCOMMITTED'` |
| **`ReadCommitted`** | `'READ COMMITTED'` |
| **`RepeatableRead`** | `'REPEATABLE READ'` |
| **`Serializable`** | `'SERIALIZABLE'` |

## 常见问题

### @capgo/capacitor-fast-sql 是什么？

具有自定义协议的高性能本地 SQLite 插件,用于高效同步操作和索引 DB 替换

### 如何安装 @capgo/capacitor-fast-sql？

在项目目录运行 npm install @capgo/capacitor-fast-sql，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-fast-sql 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/capacitor-fast-sql 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/capacitor-fast-sql 可以商用吗？

@capgo/capacitor-fast-sql 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-fast-sql 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-fast-sql 在 2026/10/09 – 2026/11/07 这 30 天内被下载 41,773 次，日均约 1,392 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-fast-sql 还在维护吗？

最新版本 8\.3\.1 发布于 2026/11/09（今天）；至今共发布 78 个版本，其中过去 12 个月发布了 72 个；首次发布于 2025/10/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

