EN MONGODB 3.4.x
Resolví este problema colocando el valor de 'opciones' directamente en la cadena 'uri', de acuerdo con la documentación (http://mongoosejs.com/docs/conexiones.html ) en la sección 'Conexiones del conjunto de réplicas'.
// connection string using mongoose:
var uri = 'mongodb://MY_USER:[email protected]' +
'MY_SERVER-shard-00-00-clv3h.mongodb.net:27017,' +
'MY_SERVER-shard-00-01-clv3h.mongodb.net:27017,' +
'MY_SERVER-shard-00-02-clv3h.mongodb.net:27017/MY_DATABASE' +
'ssl=true&replicaSet=MY_REPLICASET_NAME-shard-0&authSource=MY_ADMIN_DATABASE';
mongoose.connect(uri);
var db = mongoose.connection;
¡Ahora funciona bien!
AVISO CON MONGODB 3.6
En MongoDB Atlas con la versión 3.6.x, la cadena de conexión cambió para usar un servidor DNS, lo que acorta el enlace.
...si usa esta cadena de conexión en su aplicación, esta se conectará con éxito pero podrá leer y escribir solo con usuarios de atlas con acceso de privilegios más altos (atlasAdmin, readWriteAnyDatabase...).
Para trabajar con un usuario específico con privilegios solo para leer y escribir su base de datos, deberá mantener la misma cadena de conexión utilizada en MongoDB 3.4 porque mangosta no reconoció la opción DNS (mongodb+srv).
PD ¡Todos los nuevos recursos de MongoDB 3.6.x seguirán funcionando normalmente!