ich eine Firebase Datenbank, die ich versuche jedoch abfragen, ich bin ein Fehler zur Laufzeit immer sagenFirebase kann nicht nennen EqualTo() und startat() kombiniert
java.lang.IllegalArgumentException: Can't call equalTo() and startAt() combined
Meine Datenbank ist als
versucht//DB refrence
myBikesDB = FirebaseDatabase.getInstance().getReference().child("Bikes Registered By User").child(ronan);
//query
query = myBikesDB.orderByChild("beaconUUID").startAt("!").endAt("~").equalTo(true, "stolen");
Also mit der Abfrage im folgenden alle DB-Objekt zurück, wenn der Wert beaconUUID nicht null ist, funktioniert dieses Bit richtig.
Allerdings, sobald ich ein zweites Kriterium .equalTo(true, "stolen")
hinzufügen, bekomme ich den oben genannten Fehler.
Gibt es eine Möglichkeit, dass ich alle Elemente zurückgeben kann, die den Wert BeaconUUID als nicht null haben und gestohlen als wahr gesetzt haben.
Vielen Dank im Voraus.
Ich würde empfehlen, einen weiteren Wert hinzuzufügen, der 'beaconUUID' und' gestohlen' kombiniert, da es schneller ist. Aber [hier ist der ausführliche Beitrag, der Ihnen helfen könnte] (http://stackoverflow.com/a/26701282/4112725) – koceeng
Firebase-Datenbankabfragen können nur auf einer einzigen Eigenschaft bestellen/filtern. Oft können Sie die mehreren Werte in einer einzigen Eigenschaft kombinieren, um Ihren Anwendungsfall zu ermöglichen. Siehe http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –