2017-10-07 7 views
1

In den Firestore-Sicherheitseinstellungen können Sie Bedingungen für das Schreiben/Lesen von Daten festlegen.Firestore-Limit Schreibzugriff pro Zeit

Zur Zeit habe ich dieses Stück:

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /{document=**} { 
     allow read: if request.auth != null && request.time < 
       resource.data.timeCreated + duration.value(1, 'h'); 
     allow write: if request.auth != null; 
    } 
    } 
} 

Jetzt möchte ich das Schreiben begrenzen; Ein Benutzer sollte nur in der Lage sein, Daten alle 5 Minuten zu senden. Wie kann ich das erreichen?

Antwort

0

Es gibt keine native Möglichkeit, dies zu tun.

Sie können nicht für nicht signierte Benutzer in keiner Weise, die nicht umgangen wird. Sie können jedoch Cloud-Funktionen verwenden, um dies für angemeldete Benutzer zu erreichen.

Jeder Benutzer hat ein Profil mit dem nächsten Mal, dass sie schreiben können, zusammen mit der ID des Dokuments, um als nächstes zu schreiben.

  • Verwenden von Regeln auf schreibt, dass die ID nicht existiert bereits zu überprüfen und es ist> = die erlaubte Zeit
  • Verwenden Cloud-Funktionen auf Schreib das Benutzerprofil-Dokument mit einer neuen erlaubten Zeit und eindeutiger ID zu aktualisieren für der nächste schreiben
+0

Und wie würde ich das tun? (Sorry für die Mühe, aber es ist sehr schwer für mich) –

Verwandte Themen