Hem CouchDB hem de PouchDB için yeniyim ve mobil ve masaüstü aygıtları arasında eşzamanlayan ve çevrimdışı olarak kullanılabilen bir kişi yönetim sistemi oluşturmak için kullanıyorum. Ben PouchDB kullanarak bir PHP/MySQL arka uç yazmak zorunda kalmadan daha kolay olduğunu görüyorum.Sürekli çoğaltma ile çakışmalar nasıl giderilir
Başarıyla kullandım ve çevrimdışı aygıtlarda çakışan değişiklikler yaptığımda, CouchDB bir kazanan seçmek için bir algoritma kullanır ve sonra doğru olarak tüm aygıtlara zorlar.
Yapmak istediğim, çakışan kayıtları birleştirmek için özel bir algoritma uygulamaktır.
- rekor Tek müşteriye silinir ve hem müşteriler silme üzerinde anlaşma olmadıkça, sadece, diğerinde güncellenmiş sürümü kazanır güncellenmesi halinde: İşte kullanmak istiyorum algoritmasıdır.
- En son "değiştirilmiş" zaman damgasına sahip kayıt ana olur ve eski kayıt ikincil hale gelir.
- Yalnızca ikincil (veya ana dosyasında boş) bulunan tüm alanlar, master'e taşınır.
- Ana revizyon kaydedilir ve ikincil silinir.
CouchDB rehberi iyi explanation vardır, ama nasıl sürekli çoğaltma sırasında PouchDB API ile bunu uygulamak için bir ipucu yok. PouchDB API'a göre, çoğaltma seçeneklerinde bir "onChange" dinleyicisi var, ancak çakışmaları engellemek için bunu nasıl kullanacağımı anlamıyorum.
Birisi, bazı örnek kodlar dahil olmak üzere kısa bir öğretici yazabilir ve kendimi ve diğer birçok PouchDB kullanıcılarının bunu takdir edeceğini eminim!
gibi görünebileceğini gösteren hızlı bir peçete çizim oldu Çok teşekkürler Dale! Bu çok yardımcı olur. –