MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoError:esta implantação do MongoDB não oferece suporte a gravações que podem ser repetidas. Por favor, adicione retryWrites=false à sua string de conexão


Conforme sugerido na resposta aceita, você precisa que seu servidor local seja executado como um conjunto de réplicas para poder realizar transações, em oposição ao servidor autônomo.

No entanto, além da solução proposta, você pode facilmente converter seu banco de dados local autônomo em um conjunto de réplicas sem usar nenhuma ferramenta de terceiros , seguindo as instruções na documentação do MongoDB , resumido a seguir:
  1. Pare sua instância mongod autônoma e reinicie-a com o replSet argumento.
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
  1. Conecte-se à sua instância com um mongo shell e inicie o novo conjunto de réplicas.
rs.initiate()

Agora você deve ter um conjunto de réplicas em vez de um servidor mongodb autônomo, onde você pode realizar transações em seu ambiente local para atualizar vários documentos de uma só vez!

Não se esqueça para incluir o replSet argumento toda vez que você quiser iniciar o servidor, caso contrário, ele será iniciado como autônomo. Eu simplesmente uso o mesmo comando da etapa 1 para executá-lo novamente.

Como alternativa, você pode implantar um novo conjunto de réplicas do zero para o ambiente de teste seguindo estas outras instruções em Documentação do MongoDB.