如何使用以 TypeScript for Firebase Realtime 数据库编写的云函数从 onCreate 触发以外的节点获取数据?

Posted

技术标签:

【中文标题】如何使用以 TypeScript for Firebase Realtime 数据库编写的云函数从 onCreate 触发以外的节点获取数据?【英文标题】:How to get the data from the node other than triggered by onCreate using cloud functions written in TypeScript for Firebase Realtime database? 【发布时间】:2019-06-05 00:11:12 【问题描述】:

我是 firebase 和 TypeScript 的新手,我搜索了很多以获取除触发值之外的参考值,我在 javascript 中找到了答案,但我正在使用 typescript 为 android 的实时数据库编写函数。 我得到了类似使用 event.data.ref 的答案,但我无法使用它。

this is the link to the image of my database .

在上图中,我在节点的 typescript 中编写了 OnCreate 触发器 -

行程 / uId / tId

每当这将被触发时,我想在同一个位置写,但我想写的是在位置 -

汽车 / car​​Id

那么我应该如何从触发节点以外的节点获取数据。 请有人帮助我。

提前致谢。

【问题讨论】:

【参考方案1】:

TypeScript 在 API 方面确实与 JavaScript 没有什么不同。 TS 与 JS 没有什么“特别”之处。对于这两种语言,您应该使用提供的 JavaScript API 文档来了解它们是如何工作的。对于为 TS 提供类型绑定的库,您只需在代码编辑器中更具体地了解参数的类型和返回值。说了这么多,接下来我要说的对TS和JS都适用。

在您的Database triggers 中,onCreate 将为您提供DataSnapshot 作为第一个参数。该对象有一个ref 属性,它指向更新的位置。如果您想访问数据库中的任何其他位置,只需使用该引用的root 属性即可访问数据库的顶层,并使用该引用构造对您感兴趣的位置的其他引用。

【讨论】:

谢谢你先生 :) 我会试试这个。 先生,你能告诉我我应该如何从节点读取数据的值而不是触发一个,就像你告诉使用根属性获取参考的方式一样,当我附加 val 时它显示错误() 到由 root 创建的对所需位置的引用

以上是关于如何使用以 TypeScript for Firebase Realtime 数据库编写的云函数从 onCreate 触发以外的节点获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jest 的自定义测试环境文件中使用 TypeScript?

如何在 Typescript 中更改 Autodesk Forge Viewer 标记扩展中的编辑模式?

如何在 AngularFire / TypeScript 中访问 FirebaseError 的“代码”属性?

如何将 Testcontainers 与 @DataJpaTest 结合使用以避免代码重复?

TypeScript:如何使函数具有反应性

何时或如何将 QSqlTableModel 上的 fetchMore() 与 SQLite 数据库一起使用以使 rowCount() 工作?