MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So bevorzugen Sie Lesevorgänge auf sekundären Datenbanken in MongoDb

Die richtige Antwort, nach viel Blut und Schweiß, lautet wie folgt:

  • Um alle Lesevorgänge / Abfragen zu bevorzugen, treffen Sie die sekundären, nur slaveOk() eingestellt werden
  • Um nur ausgewählte Lesevorgänge zu bevorzugen, verwenden Sie Secondaries, setzen Sie slaveOk() nicht und verwenden Sie queryNonPrimary() statt pro Abfrage

Es empfiehlt sich auch, bei der Verwendung von Replikatsätzen einen geeigneten Schreibschutz festzulegen, etwa so:

mongo.setWriteConcern(WriteConcern.REPLICAS_SAFE);