Firebase从键数组中检索

时间:2017-09-12 01:38:18

标签: javascript node.js firebase-realtime-database

我正在使用Firebase处理项目,并且我正在尝试获取其ID与提供的数组相交的用户。虽然这是JavaScript,但我添加了TypeScript类型,以便更容易理解。

const getUsers = (userKeys: string[]) => {
  // for each ID in `userKeys`, go get that user
}

我的数据如下所示:

{
  "qwertyuiop": {
    "firstName": "Bob",
    "lastName": "Test",
    "emailAddress": "bob@test.com",
  },
  "asdfghjkl": {
    "firstName": "Jake",
    "lastName": "Alsotest",
    "email": "jake@email.com",
  }
}

显然,我有更多的数据,但目标是为getUsers函数提供一系列ID,并进行连续调用,或者只是批量获取ID匹配的所有用户。我在Firebase方面有很好的经验,对于这个项目,我们使用的是firebase-admin,而且我使用管理SDK for JavaScript几乎没有经验。

我已尝试使用Bluebird Promise库,但无法通过[Promise { <Pending> }, Promise { <Pending> }],不幸的是,异步代码只是在这里工作。我正在寻找有关如何解决这个问题的建议,但我担心我无法到达任何地方。

我尝试了以下实现:

  • 映射userKeys数组中的每个项目并执行:

    数据库   .child(&#39;用户&#39;)   .child(钥匙)   .once(&#39;值&#39;,...)

  • 相同,但forEach

  • Promise.map

  • Promise.each

  • 将每个Promise推送到一个数组,然后返回Promise.all

字面上看似没什么用。我在这里失去了......

0 个答案:

没有答案