sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoError:Denne MongoDB-implementering understøtter ikke skrivninger, der kan prøves igen. Tilføj venligst retryWrites=false til din forbindelsesstreng

Som foreslået i det accepterede svar skal du have din lokale server til at køre som et replikasæt for at kunne udføre transaktioner, i modsætning til en selvstændig server.

Ud over den foreslåede løsning kan du dog nemt konvertere din Standalone lokale db til et replikasæt uden at bruge noget tredjepartsværktøj , ved at følge instruktionerne i MongoDB-dokumentationen , opsummeret som følger:

  1. Stop din selvstændige mongod-instans, og genstart den med replSet argument.
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
  1. Opret forbindelse til din instans med en mongo shell, og start det nye replikasæt.
rs.initiate()

Nu skulle du have et replikasæt i stedet for en selvstændig mongodb-server, hvor du kan udføre transaktioner på dit lokale miljø for at opdatere flere dokumenter på én gang!

Glem ikke for at inkludere replSet argument hver gang du vil starte serveren, ellers vil den blive startet som Standalone. Jeg bruger simpelthen den samme kommando som i trin 1 til at køre den igen.

Alternativt kan du implementere et nyt replikasæt fra bunden til testmiljø ved at følge disse andre instruktioner i MongoDB-dokumentation.



  1. Mongodb-skema for indlæg og delinger

  2. mongoDB-opdateringMange med upsert true og $in i where-tilstand

  3. socket.io broadcast-funktion &Redis pub/sub-arkitektur

  4. Redis:Sorter og hent n Neighbor Keys