Ich habe zZ eine Funktion, die eine neue GoalItem
zu meiner Firebase Datenbank einführt, wenn sie einer Tabellenansicht hinzugefügt wird.Doppelte Einträge in Firebase vermeiden
func save(_ goalItems: [GoalItem]) {
let ref = Database.database().reference()
let goalRef = ref.child("goals").childByAutoId()
for goalItem in goalItems {
let attributes = ["iconName": goalItem.iconName, "text": goalItem.text, "user": self.email]
goalRef.setValue(attributes)
}
}
Wenn jedoch ein Benutzer ihre ‚GoalItem‘ bearbeitet wird save
es auch genannt wird, in der Sache entstandene dupliziert werden.
Im Wesentlichen, ich suche nach einer Möglichkeit, die Duplizierung des Eintrags zu vermeiden, wenn die text
Eigenschaft der GoalItem
auf die ‚Text‘ Referenz Datenbank anfänglich gleich ist, die ein Kind der ‚Ziele‘ Referenz.
Ich denke, so etwas wie:
if goalItem.text == (value of Firebase's text reference) {
(update the text reference)
else {
goalRef.setValue
die Datenbank Zugriff auf ‚Text‘ Referenz den Wert auf goalItem.text
greifen und zu vergleichen, wo ich im Moment bin fallen. Die Struktur der Datenbank ist sehr einfach - Bild unten.
Datenbank
TLDR; Müssen Sie auf bestimmte Datenbank Kind Referenz zugreifen und aktualisieren (anstatt zu überschreiben)
Vielen Dank im Voraus!
Vielen Dank! –