Proseguendo da questa discussione, sulla HN: https://news.ycombinator.com/item?id=5462769Implementazione rimuovere Tweet e come/funzionalità upvote in Firebase
Leggendo il file di regole firefeed risposto un sacco di domande per me, tranne che per questi due:
- La modifica di un tweet esistente non è consentita (".write": "! Data.exists()"). Come puoi renderlo non modificabile, ma cancellabile dall'autore?
- Come gestiresti in modo sicuro il Miking/Non Bloccato o il Upvoting/Downvoting? scrivere se autenticato, convalidare per l'aumento/diminuzione di uno, se l'utente non ha modificato prima questo? Come funzionerebbe? Dovrebbe esserci un elenco di persone che lo hanno modificato? Sono solo molto curioso di questo specifico caso d'uso in quanto sembra abbastanza comune in molte app, ma mi sembra che sarebbe davvero complicato da implementare in Firebase?
Grazie mille per la risposta, che la regola di scrittura è pura arte nei miei occhi e mi dispiace di non essere stata abbastanza chiara con il bit "modificato". L'upvoting, implementato nel modo in cui hai descritto, consentirebbe all'utente di postare un post all'infinito, mentre solitamente tale funzionalità è limitata a una sola volta, per utente. Quindi ero curioso, come lasceresti l'uptote solo una volta, non lascerai due volte l'upvote, ma rimuoverò il loro voto e downvote. Capisco, come avrei ottenuto questo in un database relazionale, solo curioso, qual è il modo migliore per farlo in firebase. – Kirill
L'ho già implementato per la nostra versione beta; è più semplice di quanto pensi; lascia che ti aggiunga. – Kato
Eccoti, fammi sapere se qualcosa non è chiaro. – Kato