@capacitor-firebase/firestore

中文文档
8.6.0发布于 2026/10/31Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 1.8万

在Android,iOS,和Web上为Firebase Cloud Firestore提供电容插件.

中文使用文档
文档目录55 节
  1. 使用大小写
  2. 兼容性
  3. 指南
  4. 安装
  5. 机器人
  6. iOS系统
  7. 配置
  8. 实例
  9. 演示
  10. 启动模板
  11. 使用量
  12. 创建文档
  13. 读取文档
  14. 更新或删除文档
  15. 用字段值更新文档
  16. 执行批次写入
  17. 查询收藏
  18. 控制网络访问
  19. 使用火地模拟器
  20. 听取实时更新
  21. 删除听众
  22. API 密码
  23. 添加文档(...)
  24. 添加 Collection GroupSnapshot 倾听器(...)
  25. 添加 CollectionSnapshot 倾听器(...)
  26. 添加 DocumentSnapshot 倾听器(...)
  27. 持续时间( )
  28. 删除文档(...)
  29. 禁用网络
  30. 禁用持久性( C)
  31. 启用持久性(...)
  32. 启用网络
  33. 获取收集(...)
  34. 获取收集组(...)
  35. 获取 Count from Server (...)
  36. 获取文档(...)
  37. 删除所有收听器( )
  38. 删除 Snapshot 听取器(...)
  39. 设置文档(...)
  40. 更新文档(...)
  41. 使用计算器(...)
  42. 写入批次(...)
  43. 接口
  44. 类型异名
  45. 财务问题
  46. 如何实时通知我数据的变化?
  47. 两者有什么区别 getCollection 财务报告和审定财务报表 getCollectionGroup ? 吗?
  48. 插件离线了吗?
  49. 我能用一个Firestore数据库吗?
  50. 我如何测试我的应用 与本地的Firestore案例?
  51. 我能用这个插件吗? 有Ionic、React、Vue或Angular?
  52. 相关插件
  53. 通讯
  54. 更改日志
  55. 许可证

电源火库云火炉插件

非官方电容插件 火地云炉[^1]

使用大小写

Cloud Firestore插件通常用于存储并同步云中的应用数据,例如:

  • 实时更新:通过收听文档和带快照收听器的收取更改来更新您的用户界面.
  • 用户生成的内容: 创建,读取,更新并删除用户配置文件,帖子或其他应用数据的文档.
  • 复杂查询: 带有复合过滤器和查询限制的过滤和排序集合,例如 where, (中文(简体) ), orderBy,以及 limit。 。 。 .
  • 离线支持: 启用离线持久性并控制网络访问,以配合本地缓存数据.
  • 原子写: 以单个原子批次执行多个写入操作 writeBatch(...)。 。 。 .

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持
7.x.x (中文(简体) )7.x.x (中文(简体) )折旧
6.x.x (中文(简体) )6.x.x (中文(简体) )折旧

指南

安装

你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:

npx skills add capawesome-team/skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capacitor-firebase/firestore` plugin in my project.

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

npm install @capacitor-firebase/firestore
npx cap sync

如果您还没有将 Firebase 添加到您的项目中(机器人 编号 : iOS系统 编号 : 网页) (中文(简体) ).

机器人

变量

如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :

  • $firebaseFirestoreVersion 版本 com.google.firebase:firebase-firestore (默认 : 26.0.2(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

iOS系统

Swift 软件包管理器

在您的 capacitor.config.json (或 capacitor.config.ts) 避免 SwiftPM 软件包识别相撞数字 :

{
  "experimental": {
    "ios": {
      "spm": {
        "packageOptions": {
          "@capacitor-firebase/firestore": {
            "symlink": true
          }
        }
      }
    }
  }
}

请注意目标 packageOptions 支持需要控制器 CLI 8.4.0+ (中文(简体) )。 。 。 .

配置

这些配置值是可用的 :

Prop类型说明自兹
databaseIdstring要使用的 Firestore 数据库的数据库 ID 。 仅供Android和iOS使用.8.2.0 (中文(简体) )

实例

单位 capacitor.config.json数字 :

{
  "plugins": {
    "FirebaseFirestore": {
      "databaseId": undefined
    }
  }
}

单位 capacitor.config.ts数字 :

/// <reference types="@capacitor-firebase/firestore" />

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  plugins: {
    FirebaseFirestore: {
      databaseId: undefined,
    },
  },
};

export default config;

演示

这里有一个实例: robingenz/电容器-火力基地-插座-demo

启动模板

以下启动模板可供使用:

使用量

以下例子显示如何创建,读取,更新并删除文档,更新带有字段值的文档,执行分批写作,查询集合,控制网络访问,使用Firebase模拟器,并聆听并删除实时更新.

创建文档

将新文档添加到自动生成的ID的收藏中,或者在已知的参考文献中写入文档 setDocument(...)设置 merge 改为 true 将数据与现有文档合并:

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const addDocument = async () => {
  await FirebaseFirestore.addDocument({
    reference: 'users',
    data: { 
      first: 'Alan', 
      last: 'Turing', 
      born: 1912 
    },
  });
};

const setDocument = async () => {
  await FirebaseFirestore.setDocument({
    reference: 'users/Aorq09lkt1ynbR7xhTUx',
    data: { 
      first: 'Alan', 
      last: 'Turing', 
      born: 1912 
    },
    merge: true,
  });
};

读取文档

阅读一份文件时参考:

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const getDocument = async () => {
  const { snapshot } = await FirebaseFirestore.getDocument({
    reference: 'users/Aorq09lkt1ynbR7xhTUx',
  });
  return snapshot;
};

更新或删除文档

更新现有文档的字段或全部删除:

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const updateDocument = async () => {
  await FirebaseFirestore.updateDocument({
    reference: 'users/Aorq09lkt1ynbR7xhTUx',
    data: { 
      first: 'Alan', 
      last: 'Turing', 
      born: 1912 
    },
  });
};

const deleteDocument = async () => {
  await FirebaseFirestore.deleteDocument({
    reference: 'users/Aorq09lkt1ynbR7xhTUx',
  });
};

用字段值更新文档

使用 FieldValue 帮助增加数字、设置服务器时间戳、修改数组或删除字段:

import { FieldValue, FirebaseFirestore } from '@capacitor-firebase/firestore';

const updateDocumentWithFieldValue = async () => {
  await FirebaseFirestore.updateDocument({
    reference: 'users/Aorq09lkt1ynbR7xhTUx',
    data: {
      born: FieldValue.increment(1),
      updatedAt: FieldValue.serverTimestamp(),
      nicknames: FieldValue.arrayUnion('Prof'),
      tags: FieldValue.arrayRemove('draft'),
      deprecatedField: FieldValue.delete(),
    },
  });
};

执行批次写入

执行多集,更新,并删除单个原子批的操作 :

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const writeBatch = async () => {
  await FirebaseFirestore.writeBatch({
    operations: [
      {
        type: 'set',
        reference: 'users/Aorq09lkt1ynbR7xhTUx',
        data: { 
          first: 'Alan', 
          last: 'Turing', 
          born: 1912 
        },
        options: { merge: true },
      },
      {
        type: 'update',
        reference: 'users/Aorq09lkt1ynbR7xhTUx',
        data: { 
          first: 'Alan', 
          last: 'Turing', 
          born: 1912 
        },
      },
      {
        type: 'delete',
        reference: 'users/Aorq09lkt1ynbR7xhTUx',
      },
    ],
  });
};

查询收藏

从收藏组或收藏组读取多份文件。 您可以使用复合过滤器过滤结果, 并应用查询限制, 如 orderBy 财务报告和审定财务报表 limit数字 :

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const getCollection = async () => {
  const { snapshots } = await FirebaseFirestore.getCollection({
    reference: 'users',
    compositeFilter: {
      type: 'and',
      queryConstraints: [
        {
          type: 'where',
          fieldPath: 'born',
          opStr: '==',
          value: 1912,
        },
      ],
    },
    queryConstraints: [
      {
        type: 'orderBy',
        fieldPath: 'born',
        directionStr: 'desc',
      },
      {
        type: 'limit',
        limit: 10,
      },
    ],
  });
  return snapshots;
};

const getCollectionGroup = async () => {
  const { snapshots } = await FirebaseFirestore.getCollectionGroup({
    reference: 'users',
    compositeFilter: {
      type: 'and',
      queryConstraints: [
        {
          type: 'where',
          fieldPath: 'born',
          opStr: '==',
          value: 1912,
        },
      ],
    },
    queryConstraints: [
      {
        type: 'orderBy',
        fieldPath: 'born',
        directionStr: 'desc',
      },
      {
        type: 'limit',
        limit: 10,
      },
    ],
  });
  return snapshots;
};

控制网络访问

禁用并重新启用网络的使用, 例如强制插件与本地缓存数据合作 :

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const enableNetwork = async () => {
  await FirebaseFirestore.enableNetwork();
};

const disableNetwork = async () => {
  await FirebaseFirestore.disableNetwork();
};

使用火地模拟器

将插件连接到本地端 火地模拟器 开发过程中的实例:

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const useEmulator = async () => {
  await FirebaseFirestore.useEmulator({
    host: '10.0.2.2',
    port: 9001,
  });
};

听取实时更新

将快照收听器附加到文档、集合或集合组,以便在数据发生变化时得到通知:

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const addDocumentSnapshotListener = async () => {
  const callbackId = await FirebaseFirestore.addDocumentSnapshotListener(
    {
      reference: 'users/Aorq09lkt1ynbR7xhTUx',
    },
    (event, error) => {
      if (error) {
        console.error(error);
      } else {
        console.log(event);
      }
    }
  );
  return callbackId;
};

const addCollectionSnapshotListener = async () => {
  const callbackId = await FirebaseFirestore.addCollectionSnapshotListener(
    {
      reference: 'users',
      compositeFilter: {
        type: 'and',
        queryConstraints: [
          {
            type: 'where',
            fieldPath: 'born',
            opStr: '==',
            value: 1912,
          },
        ],
      },
      queryConstraints: [
        {
          type: 'orderBy',
          fieldPath: 'born',
          directionStr: 'desc',
        },
        {
          type: 'limit',
          limit: 10,
        },
      ],
    },
    (event, error) => {
      if (error) {
        console.error(error);
      } else {
        console.log(event);
      }
    }
  );
  return callbackId;
};

const addCollectionGroupSnapshotListener = async () => {
  const callbackId = await FirebaseFirestore.addCollectionGroupSnapshotListener(
    {
      reference: 'users',
      compositeFilter: {
        type: 'and',
        queryConstraints: [
          {
            type: 'where',
            fieldPath: 'born',
            opStr: '==',
            value: 1912,
          },
        ],
      },
      queryConstraints: [
        {
          type: 'orderBy',
          fieldPath: 'born',
          directionStr: 'desc',
        },
        {
          type: 'limit',
          limit: 10,
        },
      ],
    },
    (event, error) => {
      if (error) {
        console.error(error);
      } else {
        console.log(event);
      }
    }
  );
  return callbackId;
};

删除听众

使用其调回ID删除单个快照收听者, 或者立即删除所有收听者 :

import { FirebaseFirestore } from '@capacitor-firebase/firestore';

const removeSnapshotListener = async (callbackId: string) => {
  await FirebaseFirestore.removeSnapshotListener({
    callbackId,
  });
};

const removeAllListeners = async () => {
  await FirebaseFirestore.removeAllListeners();
};

API 密码

添加文档(...)

addDocument(options: AddDocumentOptions) => Promise<AddDocumentResult>

将新文档添加到带给定数据的收藏中.

参数类型
optionsAddDocumentOptions

回返情况: Promise<AddDocumentResult>

自: 5.2.0 (中文(简体) )


添加 Collection GroupSnapshot 倾听器(...)

addCollectionGroupSnapshotListener<T extends DocumentData = DocumentData>(options: AddCollectionGroupSnapshotListenerOptions, callback: AddCollectionGroupSnapshotListenerCallback<T>) => Promise<CallbackId>

添加收集组快照事件的听众 .

参数类型
optionsAddCollectionGroupSnapshotListenerOptions
callbackAddCollectionGroupSnapshotListenerCallback<T>

回返情况: Promise<string>

自: 6.1.0 (中文(简体) )


添加 CollectionSnapshot 倾听器(...)

addCollectionSnapshotListener<T extends DocumentData = DocumentData>(options: AddCollectionSnapshotListenerOptions, callback: AddCollectionSnapshotListenerCallback<T>) => Promise<CallbackId>

为收集快照事件添加一个听众 .

参数类型
optionsAddCollectionSnapshotListenerOptions
callbackAddCollectionSnapshotListenerCallback<T>

回返情况: Promise<string>

自: 5.2.0 (中文(简体) )


添加 DocumentSnapshot 倾听器(...)

addDocumentSnapshotListener<T extends DocumentData = DocumentData>(options: AddDocumentSnapshotListenerOptions, callback: AddDocumentSnapshotListenerCallback<T>) => Promise<CallbackId>

为文档快照事件添加一个收听器.

参数类型
optionsAddDocumentSnapshotListenerOptions
callbackAddDocumentSnapshotListenerCallback<T>

回返情况: Promise<string>

自: 5.2.0 (中文(简体) )


持续时间( )

clearPersistence() => Promise<void>

清除持续存储。 这包括待写和缓存文件.

请注意: 必须在应用程序关闭后或应用程序被初始化后调用 .

自: 5.2.0 (中文(简体) )


删除文档(...)

deleteDocument(options: DeleteDocumentOptions) => Promise<void>

删除指定引用提及的文档.

参数类型
optionsDeleteDocumentOptions

自: 5.2.0 (中文(简体) )


禁用网络

disableNetwork() => Promise<void>

禁用网络 .

自: 5.2.0 (中文(简体) )


禁用持久性( C)

disablePersistence() => Promise<void>

禁用离线持久性 .

请注意: 必须在任何其他 Firestore 方法之前调用.

自: 8.2.0 (中文(简体) )


启用持久性(...)

enablePersistence(options?: EnablePersistenceOptions | undefined) => Promise<void>

启用离线持久性 .

请注意: 必须在任何其他 Firestore 方法之前调用.

参数类型
optionsEnablePersistenceOptions

自: 8.2.0 (中文(简体) )


启用网络

enableNetwork() => Promise<void>

复能用通网相会.

自: 5.2.0 (中文(简体) )


获取收集(...)

getCollection<T extends DocumentData = DocumentData>(options: GetCollectionOptions) => Promise<GetCollectionResult<T>>

读取指定引用的集合.

参数类型
optionsGetCollectionOptions

回返情况: Promise<GetCollectionResult<T>>

自: 5.2.0 (中文(简体) )


获取收集组(...)

getCollectionGroup<T extends DocumentData = DocumentData>(options: GetCollectionGroupOptions) => Promise<GetCollectionGroupResult<T>>

读取指定引用的收藏组.

参数类型
optionsGetCollectionGroupOptions

回返情况: Promise<GetCollectionGroupResult<T>>


获取 Count from Server (...)

getCountFromServer(options: GetCountFromServerOptions) => Promise<GetCountFromServerResult>

获取收藏中的文档数量.

参数类型
optionsGetCountFromServerOptions

回返情况: Promise<GetCountFromServerResult>

自: 6.4.0 (单位:千美元)


获取文档(...)

getDocument<T extends DocumentData = DocumentData>(options: GetDocumentOptions) => Promise<GetDocumentResult<T>>

读取指定引用提及的文档.

参数类型
optionsGetDocumentOptions

回返情况: Promise<GetDocumentResult<T>>

自: 5.2.0 (中文(简体) )


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有听众 .

自: 5.2.0 (中文(简体) )


删除 Snapshot 听取器(...)

removeSnapshotListener(options: RemoveSnapshotListenerOptions) => Promise<void>

删除文档或收藏快照事件的收听器 .

参数类型
optionsRemoveSnapshotListenerOptions

自: 5.2.0 (中文(简体) )


设置文档(...)

setDocument(options: SetDocumentOptions) => Promise<void>

写入指定引用所引用的文档. 如果文档尚未存在,则会创建.

参数类型
optionsSetDocumentOptions

自: 5.2.0 (中文(简体) )


更新文档(...)

updateDocument(options: UpdateDocumentOptions) => Promise<void>

更新指定引用所提及文档中的字段.

参数类型
optionsUpdateDocumentOptions

自: 5.2.0 (中文(简体) )


使用计算器(...)

useEmulator(options: UseEmulatorOptions) => Promise<void>

给Firestore模拟器提供你的应用程序.

参数类型
optionsUseEmulatorOptions

自: 6.1.0 (中文(简体) )


写入批次(...)

writeBatch(options: WriteBatchOptions) => Promise<void>

执行多个写入操作作为单批.

参数类型
optionsWriteBatchOptions

自: 6.1.0 (中文(简体) )


接口

添加文档结果

Prop类型说明自兹
referenceDocumentReference新增加的文件的参考文献.5.2.0 (中文(简体) )

添加文档选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )
dataDocumentData含有新文档数据的对象.5.2.0 (中文(简体) )

文档数据

添加 Collection GroupSnapshot 听取选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).6.1.0 (中文(简体) )
compositeFilterQueryCompositeFilterConstraint要应用的过滤器 .6.1.0 (中文(简体) )
queryConstraintsQueryNonFilterConstraint[]缩小或命令要取回的一组文档,但不明确过滤文档字段.6.1.0 (中文(简体) )

查询复合纤维约束

Prop类型说明自兹
type'and' | 'or'制约之类.5.2.0 (中文(简体) )
queryConstraintsQueryFilterConstraint[]要应用的过滤器 .5.2.0 (中文(简体) )

查询 Felter 约束

Prop类型说明自兹
type'where'制约之类.5.2.0 (中文(简体) )
fieldPathstring比较之道.5.2.0 (中文(简体) )
opStrQueryOperator要应用的操作字符串 .5.2.0 (中文(简体) )
valueany比较值.5.2.0 (中文(简体) )

查询命令By 约束

Prop类型说明自兹
type'orderBy'制约之类.5.2.0 (中文(简体) )
fieldPathstring比较之道.5.2.0 (中文(简体) )
directionStrOrderByDirection排序的方向.5.2.0 (中文(简体) )

查询Limit 约束

Prop类型说明自兹
type'limit' | 'limitToLast'制约之类.5.2.0 (中文(简体) )
limitnumber返回的最大项数 .5.2.0 (中文(简体) )

查询开始控制

Prop类型说明自兹
type'startAt' | 'startAfter'制约之类.5.2.0 (中文(简体) )
referencestring以字符串开头的引用,路径组件由前斜线分隔(/) (中文(简体) ). 请注意: 这需要额外的文档读取.5.2.0 (中文(简体) )

查询控制

Prop类型说明自兹
type'endAt' | 'endBefore'制约之类.5.2.0 (中文(简体) )
referencestring以字符串结尾或前面的引用,路径组件由前斜线分隔(/) (中文(简体) ). 请注意: 这需要额外的文档读取.5.2.0 (中文(简体) )

获取收集组结果

Prop类型说明自兹
snapshotsDocumentSnapshot<T>[]收藏中的文档.5.2.0 (中文(简体) )

文档抓取

Prop类型说明自兹
idstring文档的标识符在其收藏中.5.2.0 (中文(简体) )
pathstring文档的路径 .5.2.0 (中文(简体) )
dataT | null包含文档数据的对象。 回返 null 如果文档不存在.5.2.0 (中文(简体) )
metadataSnapshotMetadata关于快照的元数据,关于快照的来源,如果有局部修改的话.6.2.0 (单位:千美元)

快照元数据

Prop类型说明自兹
fromCacheboolean如果快照是从缓存数据创建的, 则为真 .6.2.0 (单位:千美元)
hasPendingWritesboolean如果快照是从待定的写入数据创建的, 则为真 .6.2.0 (单位:千美元)

添加收听器选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )
compositeFilterQueryCompositeFilterConstraint要应用的过滤器 .5.2.0 (中文(简体) )
queryConstraintsQueryNonFilterConstraint[]缩小或命令要取回的一组文档,但不明确过滤文档字段.5.2.0 (中文(简体) )

获取收集结果

Prop类型说明自兹
snapshotsDocumentSnapshot<T>[]收藏中的文档.5.2.0 (中文(简体) )

添加文档截图听器选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )

获取文档结果

Prop类型说明自兹
snapshotDocumentSnapshot<T>当前文档内容 .5.2.0 (中文(简体) )

删除文档选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )

启用持久性选项

Prop类型说明默认自兹
cacheSizeBytesnumber以字节表示的缓存大小 .104857600 (100 MB)8.2.0 (中文(简体) )
synchronizeTabsboolean是否在多个标签中同步持久性 。 仅供Web使用.false8.2.0 (中文(简体) )

获取收集选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )
compositeFilterQueryCompositeFilterConstraint要应用的过滤器 .5.2.0 (中文(简体) )
queryConstraintsQueryNonFilterConstraint[]缩小或命令要取回的一组文档,但不明确过滤文档字段.5.2.0 (中文(简体) )

获取收集组选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )
compositeFilterQueryCompositeFilterConstraint要应用的过滤器 .5.2.0 (中文(简体) )
queryConstraintsQueryNonFilterConstraint[]缩小或命令要取回的一组文档,但不明确过滤文档字段.5.2.0 (中文(简体) )

从服务员那里获取数据

Prop类型说明自兹
countnumber所收文件数.6.4.0 (单位:千美元)

从服务选项中获取查询

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).6.4.0 (单位:千美元)
compositeFilterQueryCompositeFilterConstraint要应用的过滤器 .8.3.0 (单位:千美元)
queryConstraintsQueryNonFilterConstraint[]缩小或命令要计数的一组文档,但不明确过滤文档字段.8.3.0 (单位:千美元)

获取文档选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )

删除Snapshot 听筒选项

Prop类型自兹
callbackIdCallbackId5.2.0 (中文(简体) )

设置文档选项

Prop类型说明默认自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )
dataDocumentData含有新文档数据的对象.5.2.0 (中文(简体) )
mergeboolean是否将所提供的数据与现有文档合并 .false5.2.0 (中文(简体) )

更新文档选项

Prop类型说明自兹
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).5.2.0 (中文(简体) )
dataDocumentData含有新文档数据的对象.5.2.0 (中文(简体) )

使用编辑器选项

Prop类型说明默认自兹
hoststring模拟器主机没有任何端口或方案. 使用Android模拟器设备时注意: 10.0.2.2是连接主机计算机"localhost"的特殊IP地址.6.1.0 (中文(简体) )
portnumber模拟器端口 .80806.1.0 (中文(简体) )

写入批次选项

Prop类型说明自兹
operationsWriteBatchOperation[]批量执行的操作.6.1.0 (中文(简体) )

写批操作

Prop类型说明自兹
type'set' | 'update' | 'delete'手术类型.6.1.0 (中文(简体) )
referencestring引用为字符串,路径组件由前斜线分隔(/) (中文(简体) ).6.1.0 (中文(简体) )
dataDocumentData含有新文档数据的对象.6.1.0 (中文(简体) )
optionsSetOptions配置设定行为的对象 .7.3.0 (单位:千美元)

设置选项

Prop类型说明默认自兹
mergeboolean是否应当进行合并还是应当覆盖文档.false7.3.0 (单位:千美元)

类型异名

查询过滤器约束

QueryFieldFilterConstraint | QueryCompositeFilterConstraint

查询操作器

'<' | '<=' | '==' | '>=' | '>' | '!=' | 'array-contains' | 'array-contains-any' | 'in' | 'not-in'

查询非筛选约束

QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint

命令方向

'desc' | 'asc'

添加 Collection GroupSnapshot 听取器回调

(event: AddCollectionGroupSnapshotListenerCallbackEvent<T> | null, error: any): void

添加 Collection Groups 即时收听器调用程序

GetCollectionGroupResult<T>

调用文件夹

string

添加 CollectionSnapshot 听取器回调

(event: AddCollectionSnapshotListenerCallbackEvent<T> | null, error: any): void

添加 CollectionSnapshot 收听器调用后事件

GetCollectionResult<T>

添加文档剪接器

(event: AddDocumentSnapshotListenerCallbackEvent<T> | null, error: any): void

添加文档剪辑器

GetDocumentResult<T>

财务问题

如何实时通知我数据的变化?

附加快照监听器 addDocumentSnapshotListener(...), (中文(简体) ), addCollectionSnapshotListener(...),或 addCollectionGroupSnapshotListener(...)。每当观测到的数据发生变化时,都会引用回调。 每个收听者返回一个回调ID,您以后可以传给 removeSnapshotListener(...),或者您可以同时删除所有听众 removeAllListeners()。见 听取实时更新 举个例子.

两者有什么区别 getCollection 财务报告和审定财务报表 getCollectionGroup? 吗?

这个 getCollection(...) 在给定的引用中读取单个集合的文档。 这个 getCollectionGroup(...) 方法读取一个收藏组的文档,该组由所有具有同一ID的收藏组成. 这两种方法都支持复合过滤和查询限制.

插件离线了吗?

是的,你可以启用离线持续 enablePersistence(...) 方法,必须在任何其他Firestore方法之前使用。 您也可以使用 disableNetwork() 财务报告和审定财务报表 enableNetwork()。持续存储,包括待写和缓存文件,可用 clearPersistence(),在应用程序关闭或初始化后必须使用.

我能用一个Firestore数据库吗?

是的,你可以设置 databaseId 在您的 Capacitor 配置中选择要使用的 Firestore 数据库的配置选项(参见 配置) (中文(简体) ). 此选项仅在Android和iOS上可用.

我如何测试我的应用 与本地的Firestore案例?

使用 useEmulator(...) 通过提供主机和端口将插件连接到本地 Firebase 模拟器实例的方法。 这使得您可以在不触碰生产数据的情况下进行开发和测试.

我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

[^1]: 这个项目不附属于Google LLC或其任何子公司或子公司,也不获得其认可、支持、赞助或批准.

版本与发布记录

@capacitor-firebase/firestore 共发布 36 个版本,首次发布于 2023/09/27;过去 12 个月发布了 13 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.6.0latest2026/10/319 天前
8.5.22026/09/171 个月前
8.5.12026/09/022 个月前
8.5.02026/08/312 个月前
8.4.02026/08/122 个月前
8.3.02026/06/045 个月前

其他发布通道:dev → 7.0.0-dev.1765887457。

关于 @capacitor-firebase/firestore 的常见问题

@capacitor-firebase/firestore 是什么?

在Android,iOS,和Web上为Firebase Cloud Firestore提供电容插件.

如何安装 @capacitor-firebase/firestore?

在项目目录运行 npm install @capacitor-firebase/firestore,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor-firebase/firestore 支持 TypeScript 吗?

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

@capacitor-firebase/firestore 支持 ESM 还是 CommonJS?

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

@capacitor-firebase/firestore 可以商用吗?

@capacitor-firebase/firestore 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor-firebase/firestore 的下载量有多少?

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

@capacitor-firebase/firestore 还在维护吗?

最新版本 8.6.0 发布于 2026/10/31(9 天前);至今共发布 36 个版本,其中过去 12 个月发布了 13 个;首次发布于 2023/09/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。