MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Testy Rspec kończą się losowo niepowodzeniem podczas analizy obiektów ActiveRecord generowanych przez zdarzenia Mongoid

W typowej konfiguracji Mongodb może wystąpić opóźnienie między pomyślnym powrotem zapisu do bazy danych a odczytem tych danych. Są ku temu dwa powody:

  • W celu zwiększenia wydajności „niebezpieczny” zapis może powrócić przed zatwierdzeniem danych na dysku.
  • Mongodb używa zestawów replik i występuje opóźnienie replikacji. Zwykle odczyty są dystrybuowane do replik jako forma równoważenia obciążenia, więc nawet jeśli używasz bezpiecznego zapisu, możesz czytać z innego serwera niż ten, na który właśnie napisałeś, a tym samym nie widzieć danych, które właśnie napisałeś.

Aby mieć pewność, że zawsze możesz natychmiast odczytać dane, które właśnie zapisałeś za pomocą Mongoid, musisz ustawić opcje sesji bazy danych consistency: :strong, safe: true , z których żaden nie jest domyślny.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nie można utworzyć kopii zapasowej mongodump z --db. Uwierzytelnianie nie powiodło się

  2. MongoDB odpowiednik SQL COUNT GROUP BY

  3. Ochrona danych z ClusterControl

  4. Poinformuj frontend Angulara o zmianie stanu w backendzie węzła (MongoDB)

  5. Jak wybrać wszystkie rekordy z kolekcji mongodb w golangu za pomocą mgo