2016-06-10 13 views
6

Rozwinąłem pewne rzeczy i wiesz, że podczas wczesnego prototypowania typy i tabele zmieniają się szybko ... byłoby dobrze oczyszczać stare dane i zaczynać od nowa w pewnych siatkach.Jak usunąć dane z DB pistoletu?

Na razie użyłem przykładowego serwera HTTP, więc usunąłem data.json; ale zapomniałem, że localStorage w przeglądarce również musi zostać wyczyszczone.

Można by przypuszczać można umieścić (null)

poprosiłem o Gitter i dostał

https://github.com/amark/gun/wiki/delete

wyjątkiem usuwa lol, nasza wymówka brzmi „To działa jak twój OS, kiedy usuniesz> coś, po prostu zostanie wyrzucony do kosza/kosza. " lepiej dmuchać na zimne, ale

jeśli próbujesz "usunąć" rzeczy, ponieważ narobiłeś czegoś podczas rozwijania czegoś, wykonaj trzyetapowy proces: 1) localStorage.clear() w każdej zakładce przeglądarki, 2) Awaria serwera i rm data.json, 3) restart> wszystko. Powinieneś wtedy mieć czysty łupek. Często, gdy jestem> devleoping coś umieścić localStorage.clear() na górze mojego kodu, więc tylko muszę się martwić o wyczyszczenie serwera.

Odpowiedz

6

Witamy w społeczności strzeleckiej! Dzięki za zadawanie pytań.

Tak, usunięcie danych odbywa się najprościej za pomocą gun.put(null). Weź:

var gun = Gun(); 
var users = gun.get('users'); 
users.put({alice: {name: 'alice'}, bob: {name: 'bob'}}); 
// now let's delete bob 
users.path('bob').put(null); 

Jeśli (jak wspomniano w pytaniu) oznacza to jednak "usuń dane", ponieważ chcesz usunąć błędy podczas tworzenia aplikacji. Zrobisz to, o czym wspomniałeś: localStorage.clear() we wszystkich przeglądarkach, zawieś wszystkie serwery i rm data.json.

Dla innych deweloperów przydatna może okazać się informacja, że ​​pistolet używa typu nagrobka. W rzeczywistości nie można usunąć samych węzłów, po prostu się odradzają, trochę tak, jak twój system po prostu przenosi pliki do kosza/kosza. Ta metoda nagrobna jest bardzo ważna w środowisku rozproszonym, tak że operacja "usuwania" jest replikowana do każdego węzła równorzędnego.

Dzięki za odpowiedź na własne pytanie! Jak zawsze, jeśli zgubisz się lub potrzebujesz pomocy w przeskoku na https://gitter.im/amark/gun.

+1

'gun(). Put (null)' wydaje się być najbardziej ogólną odpowiedzią, ponieważ pistolet może teraz działać w miejscach bez localStorage (jak na native-react używając async-storage) –