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