sql >> Databasteknik >  >> NoSQL >> MongoDB

Rspec-tester misslyckas slumpmässigt vid analys av ActiveRecord-objekt genererade av Mongoid-händelser

I en typisk Mongodb-installation kan det vara en fördröjning mellan när en databasskrivning returneras framgångsrikt och när denna data kan läsas. Det finns två anledningar till detta:

  • För prestandaförbättringar kan en "osäker" skrivning återkomma innan data överförs till disken.
  • Mongodb använder replikuppsättningar och det finns en replikeringsfördröjning. Vanligtvis distribueras läsningar till replikerna som en form av lastbalansering, så även om du använder en säker skrivning kan du läsa från en annan server än den du just skrev till och därmed inte se data du just skrev.

För att säkerställa att du alltid omedelbart kan läsa tillbaka de data du just skrev med Mongoid, måste du ställa in databassessionsalternativen consistency: :strong, safe: true , ingen av dem är standard.



  1. Mongodb find() fråga:returnerar endast unika värden (inga dubbletter)

  2. skaffa en python docker-behållare för att interagera med en redis docker-behållare

  3. Kan kafka ansluta - mongo-källa körs som kluster (max.tasks> 1)

  4. MongoDB $add