Ich benutze Firebase-Funktionen für meine Alexa-Fähigkeit. Dies funktioniert wie erwartet, aber meine Daten in der Datenbank sind speziell und manchmal kann die Abfrage keinen Wert zurückgeben.Firebase-Datenbank ohne Ergebnis
Meine Schlüssel sind von 0101 bis 1231 (MMDD) und wenn ich hinter dem höchsten Schlüssel abfrage, bekomme ich keinen Rückruf, weil Firebase keine Daten hat.
Wie kann ich die Abfrage einstellen, dass ich in diesem Fall das erste> = "0101" finde?
Die zur Zeit nennen, ist
admin.database().ref("calendar/birthday")
.orderByKey().startAt(key).limitToFirst(1).once("child_added")
.then(function(snapshot) { ... })
Meine Datenbankstruktur
"calendar" : {
"birthday" : {
"0111" : {
... -> 1st person
},
...
"0710" : {
... -> xth person
},
...
"1109" : {
... -> last person
}
}
}
Meine Alexa Geschick den nächsten Geburtstag nennen sollte, und es wird nur noch bis 09. November und nach dem 01. Januar arbeiten, weil ich Ich weiß nicht, wie ich die Daten abfragen soll. Oder kann ich meine Daten besser strukturieren, um den nächsten Geburtstag zu finden?
Sie werden wahrscheinlich von der "Array-Konvertierung" der Firebase SDKs überrascht. Gibt es eine Möglichkeit, dass Sie die Daten ändern und die Schlüssel voranstellen können (z. B. "day_0101"). Das wird den Zwang verhindern und (wenn das der Grund für das Problem war) das Problem beheben. –
Sicher kann ich die Schlüssel ändern, aber wie wird das Problem "keine Daten gefunden" behoben? Mein letzter Schlüssel ist "1109" und wenn ich die obige Abfrage mit "key = '1110'" anrufe, bekomme ich keine Werte (gerade jetzt). – mars3142
Können Sie Ihre Frage bearbeiten, um den von Ihnen abgefragten JSON anzuzeigen (als Text, keine Screenshots)? Sie können dies erreichen, indem Sie in Ihrer [Firebase-Datenbankkonsole] (https://console.firebase.google.com/project/_/database/data) auf den Link "JSON exportieren" klicken. –