reactjs - 无法从 React 应用程序获取 Firestore 数据
问题描述
以下是我对 Firestore 数据库的安全规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
下面是我获取数据的代码:
fetchUsers=async()=>{
const db=firebase.firestore();
const response=db.collection('users');
const data=await response.get();
data.doc.forEach(item=>{console.log(item)})
}
users
是 firestore 中集合的名称。它有一份文件。
但我在控制台上收到错误:
Cannot read forEach property of undefined
我错过了什么?请帮助我找到上述问题的解决方案。
谢谢你!
解决方案
您必须使用以下任一
import { useParams } from 'react-router-dom'
function YYY(props){
const { id } = useParams();
db.collection('users').doc(id).get().then((doc) =>{console.log(doc.data())})
}
或者只是使用onSnapshot
db.collection('users').onSnapshot((snapshot) => {
snapshot.docs.map((doc) => {
console.log(doc.data());
}
}
推荐阅读
- javascript - reactjs:导入净空后出现错误
- java - 如何在 Java 中隐藏我的数据库信息?
- r - tidyverse pivot_longer 几组列,但避免中间 mutate_wider 步骤
- flutter - 带有flutter_maps包的mapbox
- sql - SQL:多列的直方图
- java - 如何按对象内部的对象字段排序?
- c# - 客户端在连接到 Azure SQL 数据库时遇到问题
- javascript - req.body 抛出一个空的 {}
- r - 您如何检查 R Shiny 中的所有后代是否都是干净的(未失效)?
- c++ - 如何乘以 std::vector
通过 int 向量的每个元素应该是一位数?