Dans la documentation, il est dit :
En utilisant les fonctions get() et exists(), votre sécurité évaluer les demandes entrantes par rapport aux autres documents de la base de données.
Cela me convient, et l'exemple me semble logique :
service cloud.firestore {
match /databases/{database}/documents {
match /cities/{city} {
// Make sure a 'users' document exists for the requesting user before allowing any writes to the 'cities' collection
allow create: if exists(/databases/$(database)/documents/users/$(request.auth.uid))
// Allow the user to delete cities if their user document has the
// 'admin' field set to 'true'
allow delete: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true
}
}
}
mais ensuite, il est dit
Pour les écritures, vous pouvez utiliser la fonction getAfter() pour accéder à l'état de d'un document après une transaction ou un batc avant que la transaction ou le lot ne soit validé.
Il se peut que je ne comprenne pas encore tout à fait le concept. Mes questions sont les suivantes :
- Pourquoi faut-il utiliser spécifiquement getAfter() pour la transaction ou l'écriture par lots ? Peut-on simplement utiliser get() ?
- Si vous devez utiliser getAfter() pour les transactions ou les écritures par lots, cela signifie-t-il que vous avez toujours besoin de get() pour les écritures normales ?
Merci.