Logo
Section 1 / 5

Firebase 实时数据库入门

快速了解 Firebase Realtime Database。

导入

Firebase 实时数据库入门

快速了解 Firebase Realtime Database。

Firebase Realtime Database 是 Firebase 提供的可扩展、实时的 NoSQL 云数据库,用于存储应用程序数据。数据以 JSON 树的形式存储,并在多个客户端应用之间实时同步。

工作原理

Firebase Realtime Database 允许我们实时存储和同步用户之间的数据。这使得用户能够轻松地在任意设备(网页或移动设备)上访问自己的数据,并支持协作。每当 Realtime Database 中的数据更新时,它会将数据存储在云端,并立即更新所有连接的设备。Firebase Realtime Database 会将数据持久化到本地缓存,因此非常适合离线使用。当用户离线时,它会使用设备的本地缓存来存储数据,并在用户重新上线时同步云端数据和本地数据。

通过 安全规则,我们可以控制用户对应用程序中各个数据库的访问权限。这有助于保护数据库并授权用户操作。同时也能确保用户只能访问自己的数据。

实现

在使用 Firebase Realtime Database 之前,我们必须导入并初始化 Firebase Database 服务。首先,从 firebase/database 子包中导入 getDatabase 函数。然后,通过调用 getDatabase 函数来初始化 Firebase 数据库。我们也可以将 Firebase App 实例传入其中:

1import { initializeApp } from 'firebase/app'; 2import { getDatabase } from 'firebase/database'; 3 4 5const firebaseConfig = { 6 apiKey: "AIzaSyDNv52XXXXXXXXXXXXXXXXXXXXXX-krGF8E", 7 authDomain: "your-project-id.firebaseapp.com", 8 projectId: "your-project-id", 9 storageBucket: "your-project-id.appspot.com", 10 messagingSenderId: "01234567890", 11 appId: "1:01234567890:web:8e17ea99e18ac710e7934b", 12 measurementId: "G4-HBF7IU9NPX", 13}; 14 15const firebaseApp = initializeApp(firebaseConfig); 16 17// 获取数据库服务的引用 18export const db = getDatabase(firebaseApp);

启用 Firebase Realtime Database

要在 Firebase 项目中使用 Realtime Database,必须在 Firebase 控制台中启用它。要启用,请执行以下步骤:

  1. 进入 Firebase 项目仪表板。
  2. 导航到“Realtime Database”部分,点击“创建数据库”按钮。
  3. 选择数据库的位置。默认位置——“美国 (us-central1)”——即可。点击“下一步”进入下一步。
  4. 现在,我们需要为数据库定义安全规则。目前,选择“以测试模式启动”选项。这将在接下来的 30 天内允许所有读写操作。
  5. 点击“启用”开始使用。

注意:如果你已按照上述步骤在项目中启用了 Firebase Realtime Database,可以跳过本课其余内容,因为你已获得未来 30 天 的数据库访问权限。Firebase 安全规则将在课程后续部分详细讲解。以下部分专门针对因旧规则过期而无法访问数据库的用户。

临时安全规则

如前所述,以测试模式启动数据库将在接下来的 30 天内允许客户端读写数据库。然而,如果该期限结束且我们失去对数据库的访问权限,则需要为数据库设置新的安全规则,以恢复读写数据的能力。

  1. 进入 Firebase 控制台的“Realtime Database”部分。
  2. 转到“规则”标签页,查看现有的 Realtime Database 规则。
  3. 复制下方小部件中的六行代码,并粘贴到提供的编辑器中:
1{ 2 "rules": { 3 ".read": true, 4 ".write": true 5 } 6}

复制上方代码块中的规则并粘贴到提供的编辑器中。完成后,点击“发布”按钮以完成操作。

现在,我们已在项目中成功启用 Realtime Database。

Firebase 模拟器套件

从实时数据库读取、写入和删除数据