Ich schreibe eine mongodb verbundene App und während ich eine Verbindung zum Server herstelle, bekomme ich eine Warnung wie folgt:
DieDb.prototype.authenticate-Methode wird in der nächsten Hauptversion 3.x nicht mehr verfügbar sein, da MongoDB 3.6 die Authentifizierung nur für Benutzer in der Admin-Datenbank erlaubt und nicht mehr mehrere Anmeldeinformationen für einen Socket zulässt. Bitte authentifizieren Sie sich mit MongoClient.connect mit Authentifizierungsdaten.
Meine Codes sind wie folgt:
%Vor%unter config.js
%Vor%Ich verwende Node v8.0.0 und Mungo 4.10.5
Die Warnung ist darauf zurückzuführen, dass der MongoDB-Treiber die von der Standardverbindungslogik von mongoose verwendete API ablehnt. Ab mongoose 4.11.1 können Sie den mongo-Client verwenden, indem Sie die Option useMongoClient
festlegen, zum Beispiel
Denken Sie daran, dass die Verwendung von nativen Mongo-Clients unerwünschte Auswirkungen haben kann. Testen Sie also alles gründlich Weitere Details finden Sie hier
Ja, das ist eine harmlose Warnung und ein bekanntes Mangusten-Problem. wie gesagt von @ Phu Ngo
Sie können dieses Problem also umgehen, indem Sie auf die neueste Version von Mungo aktualisieren, die über 4.11.1 liegt.
Nach dem Upgrade der Version wird diese Warnung möglicherweise angezeigt, wenn Sie Optionen für Verbindungen verwendet haben.
%Vor%Gemäß der Fehlermeldung;
%Vor%Die Lösung des Problems besteht also einfach darin, die Einstellungsoptionen vom Server, replset, socketOptions, mongos und anderen Hierarchieoptionen bis zur obersten Ebene des Objekts zu verschieben.