sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoError:Denna MongoDB-distribution stöder inte skrivningar som går att försöka igen. Vänligen lägg till retryWrites=false till din anslutningssträng

Som föreslås i accepterat svar måste du ha din lokala server för att köras som en replikuppsättning för att kunna utföra transaktioner, i motsats till fristående server.

Men förutom den föreslagna lösningen kan du enkelt konvertera din fristående lokala db till en replikuppsättning utan att använda något tredjepartsverktyg , genom att följa instruktionerna i MongoDB-dokumentationen , sammanfattat enligt följande:

  1. Stoppa din fristående mongod-instans och starta om den med replSet argument.
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
  1. Anslut till din instans med en mongo skal och starta den nya replikuppsättningen.
rs.initiate()

Nu borde du ha en replikuppsättning istället för en fristående mongodb-server, där du kan utföra transaktioner på din lokala miljö för att uppdatera flera dokument samtidigt!

Glöm inte för att inkludera replSet argument varje gång du vill starta servern, annars kommer den att startas som fristående. Jag använder helt enkelt samma kommando som i steg 1 för att köra det igen.

Alternativt kan du distribuera ett nytt replikset från början för testmiljö genom att följa dessa andra instruktioner i MongoDB-dokumentation.



  1. spring-data-redis redisTemplate Undantag

  2. MongoDb:$geoIntersects för flera indatakoordinater

  3. MongoDB C#-drivrutin, fråga av ett arrayelement med hjälp av regex

  4. Enkelt sätt att generera kod med Mongoose och Node.js och Underscore?