下面是一个教程,在教程中使用Firestore从集合中检索数据。主要有两件事:检索文档和嵌套在文档中的集合。下面我的代码是基于FireStore v8的,我想把它转换成web 9,我发现它非常复杂!
useEffect(()=>{
if(roomId){
db.collection('rooms').doc(roomId).onSnapshot(snapshot => {
setRoomName(snapshot.data().name);
});
db.collection('rooms').doc(roomId).collection("messages").orderBy("timestamp","asc").onSnapshot(snapshot => {
setMessages(snapshot.docs.map(doc => doc.data()))
});
}
},[roomId])发布于 2021-09-27 05:49:47
这个人应该做好这份工作!
useEffect(() => {
if(roomId){
onSnapshot(doc(db, "rooms", roomId), (document) =>{
setRoomName(document.data().name);
});
const msgColl = query(collection(db, "rooms", roomId, "messages"), orderBy("timestamp"));
onSnapshot(msgColl, (querySnapshot) => {
setMessages(querySnapshot.docs.map(msg => msg.data()))
});
}
}, [roomId])发布于 2021-09-26 19:30:03
试试这个:
import { collection, query, where, doc, onSnapshot } from "firebase/firestore";
useEffect(() => {
onSnapshot(doc(db, "rooms", roomId), (doc) => {
setRoomName(doc.data().name)
});
const q = query(collection(db, "rooms", roomId, "messages"), orderBy("timestamps"));
onSnapshot(q, (querySnapshot) => {
setMessages(querySnapshot.docs.map(doc => doc.data()))
});
}, [roomId])同时结帐:
发布于 2021-09-27 21:07:32
这是给别人的..。
V8:
export const fetchAccountAssets = (userID, accountID) => db()
.collection('Accounts')
.doc(userID)
.collection('Assets')
.get()
.then((querySnapshot) => querySnapshot);V9:
export const fetchAccountAssets = async (userID, accountID) => {
return await getDocs(collection(db, 'Accounts', userID, 'Assets'));
}我不认为我需要在这里等待,但是哦,好吧。
https://stackoverflow.com/questions/69337836
复制相似问题