Devi impostare la modalità "secondary okay" per far sapere alla shell mongo che stai consentendo letture da un secondario. Questo serve a proteggere te e le tue applicazioni dall'esecuzione accidentale di letture coerenti. Puoi farlo nella shell con:
rs.secondaryOk()
Dopodiché puoi interrogare normalmente dalle secondarie.
Una nota sulla "coerenza finale":in circostanze normali, i set di repliche secondari hanno tutti gli stessi dati dei primari entro un secondo o meno. Con un carico molto elevato, i dati che hai scritto sul primario potrebbero richiedere del tempo per replicarsi sui secondari. Questo è noto come "ritardo di replica" e la lettura da un secondario in ritardo è nota come lettura "eventualmente coerente", perché, mentre i dati appena scritti verranno visualizzati ad un certo punto (salvo errori di rete, ecc.), potrebbe non essere immediatamente disponibile.
Modifica: Devi solo impostare secondaryOk
quando si esegue una query da secondari e solo una volta per sessione.