如何在Firestore中获取对象内部数组存储的returnDate元素?

Firestore 提取reserved items下所有数组元素returnDate字段方案
核心逻辑
直接获取对应文档完整数据后,遍历reserved items对象下的全部数组,逐个提取元素的returnDate字段即可,无需额外复合查询。
JavaScript Web SDK 示例代码
import { getFirestore, doc, getDoc } from "firebase/firestore"; const db = getFirestore(); // 替换为你实际的集合名、文档ID const targetDocRef = doc(db, "替换为你的集合名", "替换为你的文档ID"); const docSnapshot = await getDoc(targetDocRef); if (docSnapshot.exists()) { const docData = docSnapshot.data(); const reservedItemsObj = docData["reserved items"]; const returnDateList = []; // 遍历reserved items下所有属性 for (const key in reservedItemsObj) { // 仅处理值为数组的属性 if (Array.isArray(reservedItemsObj[key])) { reservedItemsObj[key].forEach(item => { // 存在returnDate字段则存入结果数组 if (item?.returnDate) { returnDateList.push(item.returnDate); } }) } } // returnDateList 即为所有returnDate字段值的集合 console.log(returnDateList); }
其他平台适配说明
Android、iOS、Flutter等所有平台的实现逻辑完全一致:
- 先拉取目标文档的全量数据
- 读取
reserved items对象 - 遍历对象内的所有数组
- 逐个提取数组元素的
returnDate字段
内容的提问来源于stack exchange,提问作者randomUser786
相关产品推荐
相关产品推荐

