Bijwerken
Mongoose 5.7.1 is uitgebracht en lijkt het probleem op te lossen, dus het instellen van de useUnifiedTopology
optie werkt zoals verwacht.
mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});
Oorspronkelijk antwoord
Ik werd met hetzelfde probleem geconfronteerd en besloot me te verdiepen in Mongoose-code:https://github.com/Automattic/mongoose/search?q=useUnifiedTopology&unscoped_q=useUnifiedTopology
Het lijkt een optie te zijn die is toegevoegd aan versie 5.7 van Mongoose en nog niet goed gedocumenteerd is. Ik kon het niet eens vinden in de bibliotheekgeschiedenis https://github.com/Automattic/mongoose/blob/master/History.md
Volgens een opmerking in de code:
- @param {Boolean} [options.useUnifiedTopology=false] Standaard niet waar. Instellen op
true
om u aan te melden voor de replicaset van het MongoDB-stuurprogramma en de bewakingsengine voor shard-clusters.
Er is ook een probleem op het project GitHub over deze fout:https://github.com/Automattic/mongoose/issues/8156
In mijn geval gebruik ik Mongoose niet in een replicaset of shard-cluster en hoewel de optie onwaar zou moeten zijn. Maar als het onwaar is, klaagt het dat de instelling waar moet zijn. Als het eenmaal waar is, werkt het nog steeds niet, waarschijnlijk omdat mijn database niet op een replicaset of shard-cluster draait.
Ik heb gedowngraded naar 5.6.13 en mijn project werkt weer prima. Dus de enige optie die ik nu zie, is om het te downgraden en te wachten tot de fix is bijgewerkt voor een nieuwere versie.