[英]Firebase onSnapshot limit download
我的应用程序上有一个 firestore 侦听器,它在将项目添加到数据库时下载它们。 第一次,它下载所有文档(我正在使用 onSnapshot),但我想将其限制为 12,因为我有一个 FlatList 在我滚动时呈现项目......
例如,如果有 +1000 个文档,我认为第一次下载所有项目将是一个问题。 我想过从听众转移到普通查询,但我需要它。
有任何想法吗?
const unsuscribe = firebase
.getDatabase()
.collection("reviews")
.doc(firebase.getCurrentUser().uid)
.onSnapshot((snapshot) => {
let changes = snapshot.docChanges();
changes.forEach((change) => {
if (change.type === "added") {
// Stuff
}
});
// More Stuff
});
你可以使用限制功能吗?
const unsuscribe = firebase
.getDatabase()
.collection("reviews")
.doc(firebase.getCurrentUser().uid)
.limit(12)
.onSnapshot((snapshot) => {
let changes = snapshot.docChanges();
changes.forEach((change) => {
if (change.type === "added") {
// Stuff
}
});
// More Stuff
});
我能够重新利用@RossHochwerts 建议在我的查询中使用限制,如下所示:
useEffect(
() =>
onSnapshot(
query(
collection(db, 'matches', matchDetails.id, 'messages'),
orderBy('timestamp', 'desc'),
limit(1)
), snapshot => setLastMessage(snapshot.docs[0]?.data()?.message)
),
[matchDetails, db]
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.