You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取Firebase文档数据并将其存入Dart本地列表/数组?

读取Firebase文档数据并存入本地列表

前置准备

  • 确保项目已集成Firebase SDK并完成Firestore初始化
  • 确认拥有目标集合的读取权限

Web端(JavaScript)实现代码

假设你的目标集合名为users,以下代码可将文档数据存入本地数组:

// 未初始化Firebase时添加这段代码
import { initializeApp } from "firebase/app";
import { getFirestore, collection, getDocs } from "firebase/firestore";

const firebaseConfig = {
  // 填入你的Firebase配置信息
};

const app = initializeApp(firebaseConfig);
const db = getFirestore(app);

// 用于存储数据的本地数组
let localData = [];

// 异步读取数据的函数
async function fetchFirebaseData() {
  const docSnapshots = await getDocs(collection(db, "users"));
  docSnapshots.forEach(doc => {
    // 将文档ID与数据一同存入数组(无需ID可仅保留doc.data())
    localData.push({
      id: doc.id,
      ...doc.data()
    });
  });
  // 验证数据是否存入成功
  console.log(localData);
}

// 执行数据读取操作
fetchFirebaseData();

关键说明

  • getDocs方法用于获取集合下所有文档的快照
  • doc.data()可提取文档内的字段数据,doc.id为文档唯一标识,可按需选择是否保留
  • 使用async/await处理异步操作,确保数据读取完成后再存入数组

Python(后端/脚本)实现代码

如果用Python处理,代码示例如下:

import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore

// 初始化Firebase,需传入服务账号密钥文件路径
cred = credentials.Certificate("你的密钥文件路径.json")
firebase_admin.initialize_app(cred)

db = firestore.client()
local_data = []

// 读取集合内所有文档
docs = db.collection("users").get()
for doc in docs:
    local_data.append({
        "id": doc.id,
        **doc.to_dict()
    })

print(local_data)

内容的提问来源于stack exchange,提问作者Lorenz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:24:47