如何在Firebase Cloud Firestore中获取集合文档列表且不获取全部字段?
如何获取Cloud Firestore指定集合下的文档列表
以下是不同开发环境下获取集合文档列表(包含文档ID及数据)的实现代码,涵盖常见场景:
Web SDK(JavaScript)
import { collection, getDocs } from "firebase/firestore"; async function getCollectionDocs(db) { const colRef = collection(db, "你的集合名称"); const querySnapshot = await getDocs(colRef); const docsList = []; querySnapshot.forEach((doc) => { docsList.push({ id: doc.id, ...doc.data() }); }); return docsList; }
Android SDK(Kotlin)
val db = Firebase.firestore db.collection("你的集合名称") .get() .addOnSuccessListener { result -> val docsList = mutableListOf<Map<String, Any?>>() for (document in result) { val docData = document.data.toMutableMap() docData["id"] = document.id docsList.add(docData) } // 在此处理获取到的文档列表 } .addOnFailureListener { exception -> // 处理请求失败逻辑 }
iOS SDK(Swift)
let db = Firestore.firestore() db.collection("你的集合名称").getDocuments { (querySnapshot, error) in guard let documents = querySnapshot?.documents else { print("获取文档失败: \(error?.localizedDescription ?? "未知错误")") return } let docsList = documents.map { doc in var data = doc.data() data["id"] = doc.documentID return data } // 在此处理文档列表 }
Python SDK
import firebase_admin from firebase_admin import firestore # 初始化Firebase(仅需执行一次) firebase_admin.initialize_app() db = firestore.client() col_ref = db.collection("你的集合名称") docs = col_ref.stream() docs_list = [] for doc in docs: doc_data = doc.to_dict() doc_data["id"] = doc.id docs_list.append(doc_data) # 输出或处理文档列表 print(docs_list)
若需获取嵌套子集合的文档
如果你的目标是获取父文档下子集合的内容,可通过遍历父集合文档再逐个拉取子集合数据实现(以Web SDK为例):
async function getNestedDocs(db) { const parentColRef = collection(db, "父集合名称"); const parentSnapshot = await getDocs(parentColRef); const nestedDocs = []; for (const parentDoc of parentSnapshot.docs) { const subColRef = collection(parentDoc.ref, "子集合名称"); const subSnapshot = await getDocs(subColRef); subSnapshot.forEach((subDoc) => { nestedDocs.push({ parentId: parentDoc.id, subId: subDoc.id, ...subDoc.data() }); }); } return nestedDocs; }
内容的提问来源于stack exchange,提问作者pika3113
相关产品推荐
相关产品推荐

