Der Einstieg in Firebase und JavaScript für die Codierung von Cloud-Funktionen; aber ich denke, ich schaue, ob jemand die Vor- und Nachteile der Verwendung der folgenden für Look-Ups und / oder schreibt in Cloud-Funktionen erklären kann?!
admin.database().ref()
root.child()
Ich selbst habe admin.database.ref()
benutzt, aber muss ich das? Ist es genauso gut, stattdessen root.child()
zu verwenden?
Ich sehe, dass Sie diese Frage auch in den Kommentaren für meinen Firecast auf YouTube gestellt haben. Das ist eine gute Frage. Wenn Sie die Cloud Functions für Firebase-Beispiele verfolgt haben, haben Sie möglicherweise admin.database().ref()
gesehen.
admin.database().ref()
verwendet das Firebase-Administrator-SDK , um auf Daten in der Datenbank zuzugreifen. Als Admin-Referenz hat es uneingeschränkten Zugriff auf jeden Teil der Datenbank.
Im Video root = event.data.ref.root
, ein Verweis auf das Stammverzeichnis der Datenbank, in dem das Ereignis .onWrite
aufgetreten ist. ref hat den gleichen Lese- und Schreibzugriff wie der Benutzer, der das Ereignis ausgelöst hat. Im Gegensatz zu admin.database().ref()
gewährt es keinen uneingeschränkten Zugriff. root.child
greift daher auf diesen bestimmten Pfad in der Datenbank zu, solange der Benutzer die Zugriffsberechtigung hat.
Jetzt event.data.adminRef.root
ist eine Datenbankreferenz mit uneingeschränktem Zugriff auf jeden Teil der Datenbank. Wenn das wie admin.database.ref()
klingt, liegt es daran, dass sie genau gleich sind. In meinem Fall habe ich event.data.ref.root
gewählt, um die Anzahl neuer Themen in einem Video zu begrenzen. Wenn Sie das admin SDK besser nutzen, ist das völlig in Ordnung.
Tags und Links firebase node.js firebase-database google-cloud-functions