8

クラウド機能をコーディングするためのFirebaseとJavaScriptのハングアップ。クラウド機能でルックアップや書き込みに以下のものを使用することの長所と短所を誰かが説明できるかどうかを見ていますか?Firebaseのクラウド機能:admin vs root lookups

  1. root.child()

admin.database().ref()
の使用私自身admin.database.ref()を使用しているが、私はする必要がありますか?代わりにroot.child()を使用するのと同じくらい良いですか?

答えて

22

あなたはまた、この質問を私のFirecast on YouTubeのコメントで尋ねました。それは良い質問です。 Firebaseサンプルのクラウドファンクションに従っているなら、admin.database().ref()を見たかもしれません。

admin.database().ref()は、Firebase admin SDKを使用してデータベース内のデータにアクセスします。管理者参照として、データベースの任意の部分に無制限にアクセスできます。

ビデオでは、root = event.data.ref.rootは、.onWriteイベントが発生したデータベースのルートへの参照です。 refは、イベントをトリガーしたユーザーと同じ読み取りおよび書き込みアクセス権を持ちます。 admin.database().ref()とは異なり、無制限のアクセスは許可されません。 root.childは、ユーザーがアクセス権を持っている限り、データベース内のその特定のパスにアクセスします。

今すぐevent.data.adminRef.rootは、データベースの任意の部分に無制限にアクセスできるデータベース参照です。 admin.database.ref()のように聞こえる場合は、まったく同じだからです。私の場合は、event.data.ref.rootを選択して、1つのビデオに導入された新しいトピックの量を制限しました。 admin SDKを使用する方が快適なら、それはまったく問題ありません。

+0

答えを拡大していただきありがとうございます。私のアプリケーションと私の見解では、admin.database()。ref()を使うと、クラウド機能が管理者によって管理されているため、実際のデータに対してより厳密なセキュリティルールを設定できるようになります。 admin.database().ref()を使って管理者以外の権限を書いていないノードを持つことができます。 – Learn2Code

関連する問題