首页 > 解决方案 > 如何在 Firebase 实时数据库中使用一个值查询多个字段?

问题描述

我需要一个数据库来过滤我使用 React Native 获得的大量元素(几乎 6700 个元素)。我正在考虑使用 .JSON 并将其发送到 Firebase 存储,但后来我发现 Firebase 实时数据库可能是一个更好的解决方案。但是,我需要对该列表进行查询。

这是我导入实时数据库的 .JSON 列表的一部分:

[
  {
    "airport_name": "Goroka",
    "city": "Goroka",
    "country": "Papua New Guinea",
    "utc": "10.00",
    "continent": "U",
  },
  {
    "airport_name": "Madang",
    "city": "Madang",
    "country": "Papua New Guinea"
    "utc": "10.00",
    "continent": "U",
  },
...
//Repeat for more 6686 elements.
]

我需要使用 Firebase 实时数据库进行查询,用户在搜索栏中输入一个值,系统应同时返回与“airport_name”、“city”和“country”字段中的值匹配的元素在单个查询中。那可能吗?

此外,我在尝试返回如下简单查询时遇到问题:

  const airportDbReference = database().ref('/');

  async searchAirportByValue(value) {
    return await airportDbReference
      .orderByChild('country')
      .equalTo(value)
      .once('value')
      .then((snapshot) => {
        console.log(snapshot);
      });
  }

这总是为我返回 null 。值得注意的是,我使用React Native Firebase进行 Firebase 连接。.JSON 文件中有近 6700 个节点,手动编辑每个单独的注释是不可能的。

感谢您的帮助!谢谢!

标签: jsonfirebasereact-nativefirebase-realtime-databasereact-native-firebase

解决方案


推荐阅读