我想要获取我的 Firebase Firestore 集合中的用户总数。我可以通过编写以下代码轻松获得它:
const [totalUsers, setTotalUsers] = useState(0);
const [newUsers, setNewUsers] = useState(0);
useEffect(() => {
firebase.firestore().collection("Users").get().then((querySnapshot) => {
const TotalUsers = querySnapshot.size
setTotalUsers(TotalUsers)
})
}, []);
但我想要的是获得具有如下条件的用户总数:
// this is not working, its not showing any results back.
useEffect(() => {
firebase.firestore().collection("Users").where("usersID","!=","101010").get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
const TotalUsers = doc.size
setTotalUsers(TotalUsers)
})
})
}, []);
但上面的代码不起作用并且没有返回任何结果。
如何使用 where 查询获取 firebase firestore 中集合中的文档总数?
您已移动计数操作into一个循环,这是不需要的。
相反,只需将条件添加到读取操作中并保持其余部分相同:
useEffect(() => {
firebase.firestore().collection("Users").where("usersID","!=","101010").get().then((querySnapshot) => {
const TotalUsers = querySnapshot.size
setTotalUsers(TotalUsers)
})
}, []);
请注意,仅阅读所有用户文档来确定其计数是一种昂贵的方法,因此我建议阅读有关的文档聚合运算符 https://firebase.google.com/docs/firestore/solutions/aggregation,以及丹对计算文档的回答Cloud Firestore 集合计数 https://stackoverflow.com/questions/46554091/cloud-firestore-collection-count
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)