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

MongoError:questa distribuzione MongoDB non supporta le scritture riprovabili. Aggiungi retryWrites=false alla stringa di connessione

Come suggerito nella risposta accettata, è necessario che il server locale venga eseguito come set di repliche per poter eseguire transazioni, anziché come server autonomo.

Tuttavia, oltre alla soluzione proposta, puoi convertire facilmente il tuo db locale autonomo in un set di repliche senza utilizzare alcuno strumento di terze parti , seguendo le istruzioni nella documentazione MongoDB , così sintetizzato:

  1. Arresta la tua istanza mongod standalone e riavviala con il replSet argomento.
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
  1. Connettiti alla tua istanza con un mongo shell e avviare il nuovo set di repliche.
rs.initiate()

Ora dovresti avere un set di repliche invece di un server mongodb autonomo, in cui puoi eseguire transazioni nel tuo ambiente locale per aggiornare più documenti contemporaneamente!

Non dimenticare per includere il replSet argomento ogni volta che si desidera avviare il server, altrimenti verrà avviato come Standalone. Uso semplicemente lo stesso comando del passaggio 1 per eseguirlo di nuovo.

In alternativa, puoi distribuire un nuovo set di repliche da zero per l'ambiente di test seguendo queste altre istruzioni in Documentazione MongoDB.