Теоретически да, вы можете использовать функции в качестве точки входа в Firestore, чтобы вы могли обрабатывать данные.Однако вы можете написать сложные правила безопасности с помощью RTDB и Firestore ... Я имею в виду, что у вас получился массивный файл .rules
, но вы вполне можете.Как пример:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
match /profiles/{uid} {
allow read, update: if request.auth.uid == uid;
}
match /bookmarks/{key} {
allow create: if request.auth.uid != null && request.auth.uid == request.resource.data.uid;
allow read: if request.auth.uid != null && request.auth.uid == resource.data.uid;
allow update: if request.auth.uid != null && request.resource.data.uid == resource.data.uid;
}
}
Я имею в виду, что вы можете продолжать выстраивать правила, даже проверять поля, но это в значительной степени позволяет владельцу документа вносить любые изменения или создания.И, безусловно, предотвращает удаление.
Вы также можете эффективно использовать все, что вы использовали бы для node
сервера в функциях Firebase.(Или Google Cloud Functions) Я бы тоже взглянул на этот ответ .