【发布时间】:2021-03-06 23:55:35
【问题描述】:
目前我使用过滤器调用我的集合,但我想通过使用不同的 .where() 过滤同一个表中的数据来在同一页面上的多个不同表中显示我的数据。
目前,我只知道如何按调用过滤,即我将调用它并过滤它。
但我想知道是否有一种方法可以调用一次并通过过滤来调度它,而不是多次调用并过滤多次。
function getOrders(uid) {
fire.firestore().collection("orders")
.where("statut", "==", "Validé")
.orderBy('time', 'desc')
.onSnapshot(function (querySnapshot) {
setOrders(
querySnapshot.docs.map((doc) => ({
id: doc.id,
orderid: doc.data().id,
statut: doc.data().statut,
nomproduit: doc.data().nomproduit,
type: doc.data().type
}),setLength(querySnapshot.docs.length))
);
});
}
感谢您的宝贵时间。
【问题讨论】:
-
从 Firestore 返回数据数组后,有什么理由不能使用
Array.filter()或Array.reduce()返回数据的新过滤版本? -
不知道怎么用
-
基本上没有足够的信息来说明您想要做什么。昨晚我在评论时没有想到的一件事是您无法在 Firestore 中运行
OR查询。如果您的数据对statut有 20 个可能的不同值,并且您希望其中三个用于不同的视图,那么唯一的方法是三个查询;每组数据一个查询。
标签: reactjs firebase google-cloud-firestore