MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Transaktionen, die sich über mehrere Webanforderungen erstrecken

Die einfachere Lösung besteht darin, die Vorgänge in Ihrer Anwendung zu speichern (zu puffern) und sie alle zusammen an MongoDB zu senden, wenn der Commit-Endpunkt ausgeführt wird.

Technisch gesehen können Sie den Transaktionslebenszyklus in Ihrer Anwendung manuell verwalten und Transaktionen über Webanforderungen hinweg implementieren, aber das ist 1) ziemlich umständlich und 2) Sie verlieren die verschiedenen vorübergehenden Fehlerbehandlungen, die der Treiber in der withTransaction-API für Sie erledigt.

Dazu:

  • Machen Sie sich mit der Sitzungsspezifikation
  • Machen Sie sich mit der Transaktionsspezifikation vertraut
  • Lesen Sie praktische TX-API-Spezifikation damit Sie wissen, was Sie nicht wissen werden kostenlos bekommen, wenn Ihr Kunde fragt, warum Sie Fehler aufdecken, die Treiber nicht tun
  • Überprüfen Sie den Code in Ihrem Treiber, der diese Spezifikationen implementiert
  • Implementieren Sie genügend Sitzungs- und Transaktionsmanagement für Ihre Anforderungen in Ihrer Anwendung

Es könnte einfacher sein, den Treiber zu forken und zu patchen, aber dies hat offensichtlich andere Probleme, die sich daraus ergeben, dass Ihre Codebasis von der offiziellen Treiber-Codebasis abweicht.