从返回元数据的 firestore 获取数据
get data from firestore returning metadata
Firebase 版本 9.6.9
我正在使用 onSnapshot 函数从 firestore 获取数据。
代码:
const [posts, setPosts] = useState([])
useEffect(() => {
return onSnapshot(
query(collection(db, 'posts'), orderBy('timestamp', 'desc')),
(snapshot) => {
console.log(snapshot.docs)
}
)
}, [db])
snapshot.docs 记录元数据而不是我需要的数据(帖子集合)。
snapshot.docs
是QueryDocumentSnapshot的数组。您可以通过在每个快照上使用 .data()
方法从文档中获取数据,如下所示:
return onSnapshot(
query(collection(db, 'posts'), orderBy('timestamp', 'desc')),
(snapshot) => {
const result = snapshot.docs.map((d) => ({
id: d.id,
...d.data()
}))
console.log('>>> Documents', result)
}
)
metadata
有一些关于快照的信息,例如来源。
Firebase 版本 9.6.9
我正在使用 onSnapshot 函数从 firestore 获取数据。
代码:
const [posts, setPosts] = useState([])
useEffect(() => {
return onSnapshot(
query(collection(db, 'posts'), orderBy('timestamp', 'desc')),
(snapshot) => {
console.log(snapshot.docs)
}
)
}, [db])
snapshot.docs 记录元数据而不是我需要的数据(帖子集合)。
snapshot.docs
是QueryDocumentSnapshot的数组。您可以通过在每个快照上使用 .data()
方法从文档中获取数据,如下所示:
return onSnapshot(
query(collection(db, 'posts'), orderBy('timestamp', 'desc')),
(snapshot) => {
const result = snapshot.docs.map((d) => ({
id: d.id,
...d.data()
}))
console.log('>>> Documents', result)
}
)
metadata
有一些关于快照的信息,例如来源。