Javascript 可以在Firebase中使用动态查询吗?
我的目标是获取在数组中列出id的用户 例如: 我有一个id数组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
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打开连接,然后保持连接打开。