首页 文章

如何在firebase上的 Cloud 函数中的单个请求中读取多个用户id的数据

提问于
浏览
1

我正在为我的Android应用程序和 Cloud 功能使用Firebase数据库 . Firebase以JSON格式存储数据 . 每个用户都有一些唯一的ID分配给用户 .

我想知道是否有任何方法可以在单个请求中获取多个用户数据 . 如果您看到下面的代码,它将仅获取传递的用户ID的数据 .

db
    .ref("/users/" + request.query.userId)
    .once("value")
    .then(function(snapshot) {

我有10个用户ID,我想在nodejs中的单个请求中获取数据 . 得到这个的方法是什么?

2 回答

  • 3

    这可以写得更清洁:

    const records = [
      admin.database().ref(`users/${userId1}`).once('value'),
      admin.database().ref(`users/${userId2}`).once('value'),
    ];
    
    return Promise.all(records).then(snapshots => {
       const record1 = snapshots[0].val();
       const record2 = snapshots[1].val();
    });
    
  • 2

    将它们存储在这样的数组中:

    var promArr = []
    var snapshotData = []
    promArr.push(
    db
        .ref("/users/" + request.query.userId) //put here unique usernames
        .once("value")
        .then(function(snapshot) {
        snapshotData.push(snapshot.val())
        })
    return Promise.all(promArr).then(snap =>  {
    //loop through snapshotData here
    })
    

相关问题