首页 > 解决方案 > 从 Node.js 中的 Firebase 实时数据库中选择特定属性

问题描述

有什么方法可以从 Firebase 实时数据库中选择特定属性?我知道有一种方法可以从 firestore 中检索选定的属性,但是如何使用 Node.js 通过实时数据库获取 在此处输入图像描述

我只想要每个人的笔记,别无其他。

假设我只想从 Allergy 中选择 Notes,这是我尝试但没有成功的示例代码...

admin.database().ref(`vitals/Allergy`).select('Notes').then(result => {//here is my result.....})

但它告诉我选择不是一个功能......

标签: node.jsfirebasefirebase-realtime-databasefirebase-admin

解决方案


实时数据库不支持这样的“投影”(Cloud Firestore 也不支持)。如果您要跨多个子节点进行查询,您将获得与查询匹配的每个完整子节点。即使您只想要每个孩子的一个属性,也无法避免下载整个孩子的成本。

如果您的应用程序对这些类型的查询的性能非常敏感,请考虑复制数据,以便数据库的另一个分支仅包含“Notes”属性,并单独查询该分支。这种重复在 NoSQL 类型的数据库中很常见,被称为“扇出”技术


推荐阅读