sql >> Database >  >> NoSQL >> MongoDB

Rspec-tests mislukken willekeurig bij het analyseren van ActiveRecord-objecten die zijn gegenereerd door Mongoid-gebeurtenissen

In een typische Mongodb-configuratie kan er een vertraging zijn tussen het moment waarop het schrijven van een database met succes terugkeert en wanneer die gegevens kunnen worden gelezen. Hier zijn twee redenen voor:

  • Voor prestatieverbeteringen kan een "onveilige" schrijfactie terugkeren voordat de gegevens op de schijf worden vastgelegd.
  • Mongodb gebruikt replicasets en er is een replicatievertraging. Leesbewerkingen worden gewoonlijk naar de replica's gedistribueerd als een vorm van taakverdeling, dus zelfs als u een veilige schrijfbewerking gebruikt, leest u mogelijk vanaf een andere server dan degene waarnaar u zojuist hebt geschreven en ziet u dus niet de gegevens die u zojuist hebt geschreven.

Om ervoor te zorgen dat u de gegevens die u zojuist met Mongoid hebt geschreven altijd onmiddellijk kunt teruglezen, moet u de databasesessie-opties consistency: :strong, safe: true instellen , die geen van beide de standaard zijn.



  1. MongoRepository @Query kan string niet als datum parseren

  2. MongoError:Validatie van document mislukt - Hoe voeg ik zowel float als int in hetzelfde veld in - dat is gemarkeerd als dubbel?

  3. Hoe maak je een mangoest-schema dynamisch?

  4. Zoek een string binnen een string in SQL