OP MONGODB 3.4.x
Ik heb dit probleem opgelost door de 'options'-waarde rechtstreeks in de 'uri'-tekenreeks te plaatsen, volgens de documentatie (http://mongoosejs.com/docs/connections.html ) in het gedeelte 'Replica Set Connections'.
// 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;
Nu werkt het prima!
KENNISGEVING MET MONGODB 3.6
Op MongoDB Atlas met versie 3.6.x is de verbindingsreeks gewijzigd om een DNS-server te gebruiken, waardoor de link korter is geworden.
...als u deze verbindingsreeks in uw toepassing gebruikt, zal dit met succes verbinden, maar het kan alleen lezen en schrijven met atlasgebruikers met hogere toegangsrechten (atlasAdmin, readWriteAnyDatabase...).
Als u met een specifieke gebruiker werkt die alleen het recht heeft om uw database te lezen, moet u dezelfde verbindingsreeks behouden die wordt gebruikt in MongoDB 3.4 omdat de mangoest de DNS-optie (mongodb+srv) niet herkende.
PS alle nieuwe bronnen van MongoDB 3.6.x blijven normaal werken!