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

MongoError:Diese MongoDB-Bereitstellung unterstützt keine wiederholbaren Schreibvorgänge. Bitte fügen Sie Ihrer Verbindungszeichenfolge retryWrites=false hinzu

Wie in der akzeptierten Antwort vorgeschlagen, muss Ihr lokaler Server als Replikat ausgeführt werden, um Transaktionen durchführen zu können, im Gegensatz zu einem eigenständigen Server.

Zusätzlich zu der vorgeschlagenen Lösung können Sie Ihre eigenständige lokale Datenbank jedoch ganz einfach in ein Replikat-Set konvertieren ohne ein Drittanbieter-Tool zu verwenden , indem Sie den Anweisungen in der MongoDB-Dokumentation folgen , wie folgt zusammengefasst:

  1. Halten Sie Ihre eigenständige Mongod-Instanz an und starten Sie sie mit dem replSet neu Argument.
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
  1. Verbinden Sie sich mit Ihrer Instanz mit einem mongo Shell und initiieren Sie das neue Replica Set.
rs.initiate()

Jetzt sollten Sie anstelle eines eigenständigen Mongodb-Servers ein Replica Set haben, auf dem Sie Transaktionen in Ihrer lokalen Umgebung durchführen können, um mehrere Dokumente gleichzeitig zu aktualisieren!

Nicht vergessen um das replSet einzuschließen Argument jedes Mal, wenn Sie den Server starten möchten, sonst wird er als Standalone gestartet. Ich verwende einfach denselben Befehl wie in Schritt 1, um es erneut auszuführen.

Alternativ können Sie einen neuen Replikatsatz von Grund auf für die Testumgebung bereitstellen, indem Sie diesen anderen Anweisungen in MongoDB-Dokumentation.