是否可以在Firebase中使用动态查询?

时间:2018-03-25 17:39:42

标签: javascript firebase firebase-realtime-database

我的目标是让用户列出数组中的ID。

实施例: 我有一个id的

数组

const usersId = [222, 444, 555, 522]

我想让所有用户都拥有这些ID。每个id都是唯一的,这意味着只有一个用户具有该id。

我查看了文档,从我的理解中我需要以编程方式处理它。所以我唯一的选择是为每个ID提出get请求? 这可能有问题,因为它们可能超过几百个

这是我的助手功能:

export const getById = (id) => {

    db.collection('users')
        .where('id', '==', id)
        .get()
        .then(querySnapshot => {
            querySnapshot.forEach(doc => {
                console.log(doc.id, " => ", doc.data());
            });
        })
}

这是循环的简化示例:

usersId.forEach(id => {
    getById(id);
})  

有没有更好的方法来解决这个问题?

由于

1 个答案:

答案 0 :(得分:1)

  

这可能会有问题,因为它们可能超过几百个

实际上据我所知,它没有问题。它不直观,但按照设计,你应该提出这样的一系列请求,因为Firebase actually pipelines all the requests,这使得它比你想象的要快。

如果您使用Promise.all之类的内容,那么您应该能够更好地简化您的方法。