mot*_*570 2 javascript firebase reactjs google-cloud-firestore
我想要获取我的 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)
})
}, []);
Run Code Online (Sandbox Code Playgroud)
但我想要的是获得具有如下条件的用户总数:
// 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)
})
})
}, []);
Run Code Online (Sandbox Code Playgroud)
但上面的代码不起作用并且没有返回任何结果。
如何使用 where 查询获取 firebase firestore 中集合中的文档总数?
您已将计数操作移至循环中,这是不需要的。
相反,只需将条件添加到读取操作中并保持其余部分相同:
useEffect(() => {
firebase.firestore().collection("Users").where("usersID","!=","101010").get().then((querySnapshot) => {
const TotalUsers = querySnapshot.size
setTotalUsers(TotalUsers)
})
}, []);
Run Code Online (Sandbox Code Playgroud)
请注意,读取所有用户文档只是为了确定其计数是一种昂贵的方法,因此我建议阅读有关聚合运算符的文档,以及 Dan 关于计算Cloud Firestore 集合计数中的文档的答案
| 归档时间: |
|
| 查看次数: |
6374 次 |
| 最近记录: |