【发布时间】:2020-11-27 06:59:20
【问题描述】:
我目前在处理我在我的 Angular 应用程序中使用 REST 对我的 firebase 实时数据库所做的响应数据时遇到问题。只是前言:我会诚实的。我正在慢慢学习 Angular 和 Firebase。
我的数据库中有一个名为“pending-orders”的子路由
https://i.imgur.com/C1EXaEi.png
那里的每个唯一 ID 都与当时下订单的登录用户相匹配。
为了获取我所有的挂单,我正在向我的数据库发送一个 GET http 请求,正如 firebase 文档所建议的那样,端点是 pending-orders.json。
这给了我一个响应,我认为这将是一个数组。而是具有嵌套对象的对象。我记录了响应,即:
{G2v12VlKwNPXwtUDV4g41PIqHZx1: {…}, hYgflcf7WGR6wLrCPkAL1B4MbZI3: {…}}
我需要的是一个包含子项(该响应对象中键的值)的数组。我不完全确定如何获得。如何实现这一目标?
顺便说一句……
事实上,我什至不确定如何提取其唯一 ID 已由 firebase 本身(通过 POST 请求)生成的子节点。
除非我跳过了 REST API 文档中的某些内容,否则它们会介绍新插入的子节点如何通过 POST 请求获取自己的唯一 ID,但稍后不讨论如何特别或通过集合访问这些子节点(如我我试图做)。就我而言,客户无法知道这些唯一 ID(或我自己生成的自定义 ID)。
【问题讨论】:
-
仅供参考:AngularFire 提供了一个用于实时数据库的 TypeScript API,因此您不必直接使用 REST API。
-
你可以使用Angular File
-
当然,您可以只使用 for ... in 循环或 Object.entries() 来转换为数组。还是不适合您的需求?
标签: javascript angular typescript firebase firebase-realtime-database