sql >> Databáze >  >> NoSQL >> MongoDB

MongoError:Toto nasazení MongoDB nepodporuje opakovatelné zápisy. Přidejte do připojovacího řetězce retryWrites=false

Jak je navrženo v přijaté odpovědi, musíte mít svůj lokální server spuštěný jako sadu replik, abyste mohli provádět transakce, na rozdíl od samostatného serveru.

Kromě navrhovaného řešení však můžete snadno převést samostatnou místní databázi na sadu replik bez použití jakéhokoli nástroje třetí strany , podle pokynů v dokumentace MongoDB , shrnuto takto:

  1. Zastavte samostatnou instanci mongoda a restartujte ji pomocí replSet argument.
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost
  1. Připojte se ke své instanci pomocí mongo shell a spusťte novou sadu replik.
rs.initiate()

Nyní byste měli mít sadu replik namísto samostatného serveru mongodb, kde můžete provádět transakce ve vašem místním prostředí a aktualizovat více dokumentů najednou!

Nezapomeňte zahrnout replSet argument pokaždé, když chcete server spustit, jinak bude spuštěn jako Samostatný. Jednoduše použiji stejný příkaz jako v kroku 1, abych jej znovu spustil.

Případně můžete nasadit novou sadu replik od začátku pro testovací prostředí podle těchto dalších pokynů v Dokumentace MongoDB.



  1. Heroku rake task neinicializovaná konstanta pro model MongoMapper

  2. Automaticky stárnou dokumenty sbírky MongoDB

  3. Aktualizace MongoDB Deep Array

  4. Jak najít nejbližší páry (Hammingova vzdálenost) řetězce binárních přihrádek v Ruby bez problémů s O^2?