首页 > 解决方案 > 如何将此 Firebase 版本 8 代码更改为版本 9

问题描述

如何使用 Firebase 版本 9 Web SDK 执行此操作

db.collection('rooms')
 .doc(id)
 .collection('messages')
 .orderBy('timestamp', 'asc')
 .onSnapshot((snapshot) => 
   setState(snapshot.docs.map(doc => 
   doc.data()))
 )

标签: javascriptreactjsfirebasegoogle-cloud-firestore

解决方案


以下应该可以解决问题:

import { collection, query, orderBy, onSnapshot } from "firebase/firestore"; 

const id = ...;

const messagesColRef = collection(db, "rooms", id, "comments");
const messagesQuery = query(messagesColRef, orderBy("timestamp"));
onSnapshot(messagesQuery, (snapshot) => {
   setState(snapshot.docs.map(doc => 
   doc.data()))
});

查看Firestore 参考资料


推荐阅读