如何在查询时使用Firebase实时数据库的两个变量?

8 浏览
0 Comments

如何在查询时使用Firebase实时数据库的两个变量?

这样我不能同时分配两个查询。有没有办法做到这一点?有没有办法在同一个目录中查询数据?

0
0 Comments

非常抱歉,实时数据库不支持在多个属性上进行查询,只支持在单个子属性上进行查询。所以像下面的代码是不可能的:

fireDb
  .child(`All Ride Requests`)
  .orderByChild(`car_model`)
  .equalTo("Volvo")
  .orderByChild(`car_plaka`)
  .equalTo("Value")

不过你可以在数据库中创建一个新的字段,应该是这样的:

Firebase-root
   |
   --- All Ride Requests
          |
          --- carModel: "Volvo"
          |
          --- carPlaka: "Value"
          |
          --- carModel_carPlaka: "Volvo_Value"

所以你可以看到,carModel_carPlaka属性将你想要过滤的值组合在一起。在代码中应该是这样的:

fireDb
  .child(`All Ride Requests`)
  .orderByChild(`carModel_carPlaka`)
  .equalTo("Volvo_Value")

与实时数据库不同,云端 Firestore 允许复合查询。你应该看一下这个。所以在 Firestore 中,不需要创建一个组合属性,可以使用如下查询:

allRideRequestsRef.where('carModel', '==', 'Volvo').where('carPlaka', '==', 'Value');

嗨,okangulsevil。我可以帮你查找其他信息吗?

0