Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以在Firebase中使用动态查询吗?_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 可以在Firebase中使用动态查询吗?

Javascript 可以在Firebase中使用动态查询吗?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我的目标是获取在数组中列出id的用户 例如: 我有一个id数组 constusersid=[222444555522] 我想获得所有具有这些id的用户。每个id都是唯一的,这意味着只能有一个具有该id的用户 我查阅了文档,根据我的理解,我需要以编程方式处理这个问题。所以我唯一的选择就是对每个id发出get请求? 这可能是有问题的,因为它们可能超过几百个 这是我的助手func: export const getById = (id) => { db.collection('user

我的目标是获取在数组中列出id的用户

例如: 我有一个id数组

constusersid=[222444555522]

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

我查阅了文档,根据我的理解,我需要以编程方式处理这个问题。所以我唯一的选择就是对每个id发出
get
请求? 这可能是有问题的,因为它们可能超过几百个

这是我的助手func:

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);
})  
有没有更好的方法来处理这个问题

谢谢

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

事实上,据我所知,这没有问题。这是不直观的,但根据设计,你应该提出一系列这样的请求,因为这比你想象的要快


如果您使用类似的方法,您也应该能够更好地简化您的方法。

因此,通过使用Firebase连接的承诺,我不会为每个查询发送
http
请求?不,我不这么认为。Firebase不使用http请求,但最有可能使用Websockets/long轮询。http打开连接,发送请求,然后关闭连接,firebase打开连接,然后保持连接打开。