Today I can open a connection to a mongodb secondary like this:
PS C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe
rs0:SECONDARY> db.collection.find()
Error: error: { "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 }
If I run the rs.slaveOk(), then my queries work.
If I close the session, and start a new one, my queries don’t work again.
How can I make the change of slaveOk() permanent, so any new connection made to a slave is allowed to read?
Hi @MACKENZIE_CLARK, you can add rs.slaveOk()
to your .mongorc.js
file and that should do what you’re trying to do.
On Linux/Mac the file is in your home directory. I’m not sure where it is on Windows if you use that platform, but a quick search should return it.
4 Likes
Thanks @Doug_Duncan!
Slightly different question: is the .mongorc.js
respected by programming language drivers? e.g. the C# driver.
chris
(Chris Dellaway)
4
No, mongorc.js is just for the mongo shell.
1 Like
You would set your readPreference
on your connection to either secondary
or secondaryPreferred
to get secondary reads.
For C# the Read Preference Class page might be of help.
1 Like