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

Mongodb v4.0 Transaction, MongoError:Transaktionsnummern sind nur für ein Replikatsatzmitglied oder Mongos zulässig

Transactions sind zweifellos das aufregendste neue Feature in MongoDB 4.0 . Aber leider starten die meisten Tools zum Installieren und Ausführen von MongoDB einen eigenständigen Server im Gegensatz zu einem Replikatsatz. Wenn Sie versuchen, eine Sitzung auf einem eigenständigen Server zu starten, erhalten Sie diesen Fehler.

Um Transaktionen nutzen zu können, benötigen Sie eine MongoDB Replikatsatz, und das lokale Starten eines Replikatsatzes für die Entwicklung ist ein komplizierter Prozess. Das neue run-rs npm module macht das Starten von Replikat-Sets einfach. Das Ausführen von run-rs ist alles, was Sie brauchen, um einen Replikatsatz zu starten, run-rs installiert sogar die richtige Version von MongoDB für Sie.

Run-rs hat keine externen Abhängigkeiten außer Node.js und npm. Docker, Homebrew, APT, Python oder gar MongoDB müssen nicht installiert sein.

Installieren Sie run-rs global mit npm's -g Flagge. Sie können run-rs auch in Ihrer package.json auflisten devDependencies der Datei.

npm install run-rs -g

Führen Sie als Nächstes run-rs mit dem Flag --version aus. Run-rs lädt MongoDB v4.0.0 für Sie herunter. Keine Sorge, Ihre vorhandene MongoDB-Installation wird nicht überschrieben.

run-rs -v 4.0.0 --shell

Verwenden Sie dann replicaSet=rs in Ihrer Verbindungszeichenfolge.

Weitere Details dazu finden Sie hier.