Nie pracowałem z IndexDB, ale problem projektowania nie jest tak rzadki. Zrozumienie Twojej aplikacji polega na tym, że gdy klient nawiązuje połączenie z MongoDB, wyciągasz zestaw dokumentów do lokalnego przechowywania i rozłączania. Klient może następnie wykonywać czynności lokalnie (bez połączenia z serwerem danych), a następnie wprowadzać zmiany.
Tak jak ja to widzę, że masz na sobie dwa ogólne przypadki:
- gdy serwer MongoDB jest aktualizowana i ciągłość przerwy z klientem, klient będzie musiał
- ankiety dla dane (timer?) lub
- zachować websocket otwarty pozwolić powiadomień wolny przepływ przez rury
- , gdy użytkownik musi naciskać zmieniło Dane z powrotem rury
- można podłączyć asynchronicznie, sprawdzić zmiany państwowych (rozwiązywanie konfliktów według własnych reguł biznesowych)
- mają po stronie serwera (light) interfejs do obsługi konfliktów (w zależności od złożoności aplikacji porównując znaczniki czasowe zmian państwowych MongoDB do aktualizacjach IndexedDB powinno wystarczyć)
należy sprawdzić, czy któryś z kodem z meteor jest istotne. – ranman
Bardzo interesujące, dzięki. Prawdopodobnie rozwiązanie mojego prawdziwego problemu: napisanie aplikacji offline. Powinieneś udzielić tej odpowiedzi, aby móc dać ci punkty, jeśli to rozwiąże mój problem. –
Włącza kompletny scenariusz offline nie jest obsługiwany (logowanie offline + zmiany + synchronizacja z serwerem po powrocie do trybu online): https: // groups. google.com/d/topic/meteor-core/ZVj6RFbKDq0/discussion –