0

Ich versuche, einen Einfüge-Trigger auf Firebase mit der onWrite Methode zu imitieren. Die Einfügung erfolgt über POST-Anfragen, seit ich es teste (am einfachsten finde ich Datenbank Trigger). Der Trigger enthält das Schreiben der von Firebase generierten ID in die eingefügten Daten als neue Eigenschaft.Firebase-Datenbank auf Push erhalten ID

My Cloud-Funktion ist folgende:

exports.onNewSeries = functions.database.ref('/series').onWrite(event => { 
    "use strict"; 
    console.log(event.data.key); 
    console.log(event.data.current.key); 
    console.log(event.data.current); 
}); 

Beide erste logs denselben Schlüssel enthalten (series), die eigentlich die Schlüssel des übergeordneten Knoten ist, wo die neuen Daten angehängt wird, statt des neuen Datenschlüssel (in der schrulligen Form von -adfaa123sdfasdf). Das letzte Protokoll gibt eine Firebase-Struktur aus, die die neuen Daten sowie den generierten Schlüssel in einer _data-Eigenschaft enthält, auf die jedoch nicht zugegriffen werden kann.

Während dies manuell nach einer Anfrage getan werden kann, habe ich es nicht in einer Datenbank Trigger-Art automatisiert gesehen.

Antwort

4

die generierten Schlüssel zu erhalten, zu einem bestimmten Kind der Funktion Trigger machen:

exports.onNewSeries = functions.database.ref('/series/{id}').onWrite(event => { 
    console.log(event.params.id); 
}); 

Auch die Firebase documentation on handling database events sehen.

Verwandte Themen