Comme l'a noté l' 3.1.0-beta4
version du pilote a obtenu "relâchés dans la nature" un peu plus tôt par les regards des choses. La libération est la partie des travaux en cours à l'appui de nouvelles fonctionnalités dans la MongoDB 4.0 version à venir, et de faire quelques autres modifications de l'API.
Un tel changement de déclenchement de l'actuelle avertissement est le useNewUrlParser
option, en raison de certains changements autour du passage de l'URI de connexion fonctionne réellement. Plus sur cela plus tard.
Jusqu'à ce que les choses "s'installer", il serait sans doute souhaitable de "pin" au moins à la version mineure pour 3.0.x
communiqués de:
"dependencies": {
"mongodb": "~3.0.8"
}
Qui doit cesser l' 3.1.x
de la branche est installé sur les "frais" installations de nœud de modules. Si vous avez déjà fait installer une "dernière" version qui est la "béta", alors vous devriez nettoyer vos paquets ( et package-lock.json
) et assurez-vous que vous vous cognez que jusqu'à une 3.0.x
de diffusion de la série.
Que pour, en fait, à l'aide de la "nouvelle" URI de connexion des options, la principale restriction est pour inclure l' port
sur la chaîne de connexion:
const { MongoClient } = require("mongodb");
const uri = 'mongodb://localhost:27017'; // mongodb://localhost - will fail
(async function() {
try {
const client = await MongoClient.connect(uri,{ useNewUrlParser: true });
// ... anything
client.close();
} catch(e) {
console.error(e)
}
})()
C'est un peu plus "stricte" de la règle dans le nouveau code. Le point principal étant que le code actuel est essentiellement partie de la "nœud-native-pilote" ( mnp mongodb
) code de référentiel, et le "nouveau code" en fait, les importations de l' mongodb-core
bibliothèque qui "soutient" le "public" nœud pilote.
Le point de la "option" ajouté est de "faciliter" le passage par l'ajout de l'option pour le nouveau code de sorte que le plus récent de l'analyseur ( en fait basé autour d' url
) est utilisée dans le code de l'ajout de l'option et la compensation de la dépréciation d'avertissement, et donc de vérifier que votre connexion chaînes passées à se conformer à ce que le nouveau parseur attend.
Dans les futures versions de l'héritage' analyseur serait supprimée et puis le nouvel analyseur sera simplement ce qui est utilisé même sans l'option. Mais, à l'époque, il est prévu que tout le code existant a eu amplement l'occasion de tester leurs chaînes de connexion à l'encontre de ce que le nouvel analyseur attend.
Donc, si vous voulez commencer à utiliser les nouvelles fonctionnalités du pilote comme ils sont libérés, puis l'utilisation de l' beta
et les versions ultérieures et, idéalement, assurez-vous de fournir une chaîne de connexion qui est valable pour le nouvel analyseur en permettant à l' useNewUrlParser
option en MongoClient.connect()
.
Si vous n'avez pas réellement besoin d'accéder à des fonctions liées à l'aperçu de la MongoDB version 4.0, puis la broche de la version à un 3.0.x
série comme indiqué précédemment. Cela fonctionne comme documenté et "épingler" cela garantit que 3.1.x
les rejets ne sont pas "mis à jour" sur la durée de la dépendance, jusqu'à ce que vous voulez vraiment installer une version stable.
6 votes
Cela vient de la
beta
qui, d'une manière ou d'une autre, a été publiée sur npm au cours du week-end. Ne vous en préoccupez pas tant que l'API n'est pas finalisée. Vous avez fait le bon choix en installant une version stable.1 votes
Au-dessus de 3.0.0 de mongodb ajouter simplement mongoose.connect("mongodb://localhost:portnumber/YourDB", { useNewUrlParser : true })