Cloud-Funktionen für Firebase: Admin vs Root-Lookups

8

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?!

  1. die Verwendung von admin.database().ref()
       vs
  2. root.child()

Ich selbst habe admin.database.ref() benutzt, aber muss ich das? Ist es genauso gut, stattdessen root.child() zu verwenden?

    
Learn2Code 25.04.2017, 17:34
quelle

1 Antwort

22

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.

    
Jen Person 25.04.2017, 23:15
quelle