javascript - 有没有一种方法可以在实时数据库中搜索特定的子值并提取其附带的其余子数据

标签 javascript database firebase firebase-realtime-database

您好,有没有一种方法可以从实时数据库中提取一个值,并且在查找该值后,它会提取与该搜索相关的所有数据,例如

我正在使用此方法提取整个子数据。

  const query = dataFirebase.ref("Item").orderByKey();
    query.once("value")
    .then(function(snapshot) {
      snapshot.forEach(function(childSnapshot) {
        const keyValue = childSnapshot.key;
        const fullData = childSnapshot.val();

        console.log(fullData)
    });
  });

Item 的数据如下所示

    {
      Item: {
        IDNumber1: {
          productDepartment: Cullinary,
          productStore: JCPenny
        }
        IDNumber2: {
          productDepartment: Cullinary,
          productStore: Macys
        }
        IDNumber3: {
          productDepartment: Home,
          productStore: JCPenny
        }
        IDNumber4: {
          productDepartment: Ties,
          productStore: JCPenny
        }
        IDNumber5: {
          productDepartment: Cullinary,
          productStore: Macys
        }
        IDNumber6: {
          productDepartment: Cullinary,
          productStore: Dillards
        }
        IDNumber7: {
          productDepartment: Ties,
          productStore: JCPenny
        }
      }
    }

ID 号只是一个唯一标识符。

我试图有一个搜索栏来查找产品部门(例如“Culinary”)的值,然后显示与该数据(例如产品商店)相匹配的所有组件,以便我可以更具体地从中提取信息。

因此,如果我要搜索 Cullinary,则会显示 IDNumber 1 2 5 和 6。

谢谢

最佳答案

您要查找的是 orderByChild()equalTo():

const query = dataFirebase.ref("Item").orderByChild("productDepartment").equalTo("Culinary");
query.once("value")...

其余代码将保持不变。

有关这方面的详细信息,请参阅 Firebase documentation on querying the Realtime Database .

关于javascript - 有没有一种方法可以在实时数据库中搜索特定的子值并提取其附带的其余子数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136808/

相关文章:

java - 如何连接到 NetBeans 中的 derby 数据库?

mysql - 选择顶部错误

reactjs - 如何在 gatsby 中初始化 firebase?

Swift:从 Firebase 检索数据并在 TableView 中显示

JavaScript 在函数调用时为变量属性设置值

javascript - 将图表更改为自下而上而不是从左到右

javascript - 以 Angular 2将图像转换为base64

javascript - “Arc 不是构造函数”错误

database - Laravel 4 中的外键跨数据库错误

android - MissingPluginException(在 channel plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现) Release模式