如何在查询时使用Firebase实时数据库的两个变量?
非常抱歉,实时数据库不支持在多个属性上进行查询,只支持在单个子属性上进行查询。所以像下面的代码是不可能的:
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。我可以帮你查找其他信息吗?