Wenn Sie über den MongoDB-Java-Treiber speichern, können Sie nur ein einzelnes Dokument an MongoDB übergeben.
Wenn Sie eine Einfügung durchführen, können Sie ein einzelnes Element übergeben oder ein Array von Elementen übergeben. Letzteres führt zu einer "Masseneinfügung" (d. H. Ein einzelner Einfügebefehl durch den Client führt dazu, dass mehrere Dokumente auf dem Server eingefügt werden).
Da MongoDB jedoch keine Transaktionsbegriffe unterstützt, gibt es keine Möglichkeit, anzugeben, dass zuvor eingefügte Dokumente gelöscht oder zurückgesetzt werden sollen, wenn eine der Einfügungen fehlschlägt.
Zum Zwecke der Atomarität ist jede Dokumenteinfügung eine separate Operation und es gibt keine unterstützte Möglichkeit, MongoDB entweder alle oder keine einzufügen.
Ist dies etwas, das Ihre Anwendung erfordert kann es auch andere Möglichkeiten, um es zu erreichen: - ändern Sie Ihr Schema, so dass diese Teildokumente eines einzelnen Stammdokuments sind (dann gibt es technisch nur ein „Einfügen“ des Mutter Dokument) - Schreiben Sie die Transaktionssemantik in Ihren Anwendungscode - verwenden Sie eine Datenbank, die zweiphasige Festschreibungstransaktionen nativ unterstützt.
Es gibt kein Konzept von Transaktionen in MongoDB. Jede Operation ist atomar, aber eine Massenspeicherung kann nicht sein. –