如何读取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
相关产品推荐
相关产品推荐

