React Native iOS端如何从Firestore获取全部文档?
iOS Firestore 获取文档无返回结果排查方案
检查Firestore安全规则
控制台显示有访问记录但无数据返回,大概率是安全规则限制了读取权限。默认规则仅允许已认证用户访问,若未做用户认证,可临时放宽规则测试(测试完成后务必恢复严格规则):rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if true; } } }确认集合名称拼写
代码中使用的集合名是Announcements,需检查Firestore控制台内的集合名称是否完全一致(Firestore集合名称区分大小写)。修正查询结果的处理逻辑
当前代码仅打印了查询快照对象,未遍历提取文档内容。修改代码验证是否存在文档:async function getAnnouncements() { const querySnapshot = await firestore().collection('Announcements').get(); console.log('文档总数:', querySnapshot.size); querySnapshot.forEach((doc) => { console.log(doc.id, '=>', doc.data()); }); }若
querySnapshot.size为0,说明集合内确实无文档;若大于0,说明之前未正确提取数据。验证Firebase初始化与网络状态
确保iOS设备/模拟器网络正常,同时确认Firebase初始化流程正确,可添加日志验证:import firebase from '@react-native-firebase/app'; import firestore from '@react-native-firebase/firestore'; if (!firebase.apps.length) { firebase.initializeApp(); console.log('Firebase初始化成功'); } else { firebase.app(); // 已初始化则直接使用 }查看Firebase控制台日志
进入Firebase控制台「Firestore」-「监控」-「日志」,查看请求详情,排查是否有权限不足、资源不存在等错误提示。
内容的提问来源于stack exchange,提问作者Ghulam Rasool
相关产品推荐
相关产品推荐

