Kontynuując od tego wątku, na HN: https://news.ycombinator.com/item?id=5462769Wdrażanie usunąć tweet i jak/upvote funkcjonalność w Firebase
przeczytaniu pliku rules firefeed odpowiedział na wiele pytań do mnie, z wyjątkiem tych dwóch:
- Edytowanie istniejącego tweeta jest niedozwolone (".write": "! Data.exists()"). Jak możesz sprawić, by nie było edytowalne, ale usuwane przez autora?
- Jak można bezpiecznie obsługiwać sympatię/nielubienie lub przerzucanie/pobieranie z dołu? wypisać w przypadku uwierzytelnienia, potwierdzić wzrost/spadek o jeden, jeśli użytkownik nie zmodyfikował tego wcześniej? Jak by to działało? Czy musi istnieć lista dzieci osób, które to zredagowały? Ciekawi mnie właśnie ten konkretny przypadek użycia, ponieważ wydaje się dość powszechny w wielu aplikacjach, ale wydaje mi się, że byłoby to naprawdę skomplikowane do wdrożenia w firebase?
Bardzo dziękuję za odpowiedź, że zasada zapisu jest czystą sztuką w moich oczach i przepraszam za to, że nie byłem wystarczająco jasny z "zmodyfikowanym" bitem. Uaktualnianie, zaimplementowane w opisany sposób, pozwoliłoby użytkownikowi na niekończące się przesyłanie postu, podczas gdy zwykle taka funkcjonalność jest ograniczona do jednego na użytkownika. Byłem więc ciekawy, jak pozwoliłoby się użytkownikowi tylko raz zagrać, nie pozwolić na dwukrotne awansowanie, ale usuńcie głosowanie i głosowanie. Rozumiem, w jaki sposób osiągnęłbym to w relacyjnej bazie danych, po prostu ciekawy, jaki jest najlepszy sposób na zrobienie tego w bazie ogniowej. – Kirill
Mam to już wdrożone dla naszej wersji beta; to jest prostsze niż myślisz; pozwól mi to dodać. – Kato
Proszę bardzo, daj mi znać, jeśli coś z tego jest niejasne. – Kato