You could pass :slave_ok => true separately, but the main issue is that :read => {:mode => xxx} must get set to whatever read preference is in the URI, regardless of slaveOk=true.