Firebase OrderByKey mit startAt und endAt liefert falsche Ergebnisse
Ich habe 3 Objekte mit den Schlüsseln, wie es so aussieht:
Sie haben das Format JJJJMMTT. Ich versuche, Daten eines Monats zu erhalten. Aber ich erhalte nicht die gewünschte Ausgabe.
Wenn ich es so abfrage:
var ref = db.child("-KPXECP6a1pXaM4gEYe0");
ref.orderByKey().startAt("20160901").once("value", function (snapshot) {
console.log("objects: " + snapshot.numChildren());
snapshot.forEach(function(childSnapshot) {
console.log(childSnapshot.key);
});
});
Ich erhalte die folgende Ausgabe:
objects: 3
20160822-KPl446bbdlaiQx6BOPL
20160901-KPl48ID2FuT3tAVf4DW
20160902-KPl4Fr4O28VpsIkB70Z
Wenn ich dies zusammen mit endAt abfrage:
ref.orderByKey().startAt("20160901").endAt("20160932").once("value", function (snapshot) {
console.log("objects: " + snapshot.numChildren());
snapshot.forEach(function(childSnapshot) {
console.log(childSnapshot.key);
});
});
Ich bekomme das:
objects: 0
Wenn ich am Ende ~ Zeichen benutze,
ref.orderByKey().startAt("20160901").endAt("20160932~").once("value", function (snapshot) {
console.log("objects: " + snapshot.numChildren());
snapshot.forEach(function(childSnapshot) {
console.log(childSnapshot.key);
});
});
Ich erhalte die Ausgabe:
objects: 3
20160822-KPl446bbdlaiQx6BOPL
20160901-KPl48ID2FuT3tAVf4DW
20160902-KPl4Fr4O28VpsIkB70Z
Gibt es etwas, was ich hier vermisse?