0
votes

Erreur de connexion Mongodb (paramètre URI)

J'ai rencontré avec l'erreur suivante:

**

mongooseerror: le paramètre uri à openuri () doit être un chaîne, obtenu "objet". Assurez-vous que le premier paramètre à mongoose.connect () ou mongoose.createconnection () est une chaîne.

** ** ** S'il vous plaît aidez-moi à résoudre ce problème, peut-être un problème dans //config.// avant Mongo_url? Ce que je dois faire?

mon code d'application (app.js): xxx

config.js : xxx

mon projet si gros. Je peux montrer mes fichiers dans les réponses.  Entrez la description de l'image ici


0 commentaires

4 Réponses :


0
votes

Passez ces paires de valeur clé:

mongoose.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true }
);


4 commentaires

J'ai reçu une nouvelle erreur: lancer une nouvelle erreur ('Mongo_url n'est pas présente dans CONFIG');


Utilisez la variable d'environnement Mongo_url. Quelque chose comme: exportation mongo_url = mongodb: // localhost: 27017 / Your_DB


J'ai observé que j'avais une erreur dans mon fichier config.js après édition de code, j'ai maintenant une droite config.js. J'ai recommencé mon app.js et j'ai reçu ce message: "URL de Mongo introuvable"


Montrez-moi votre chaîne Mongo_url.



0
votes

changez votre mongoose.connect code> ligne sur ceci: xxx pré>

Il serait également préférable d'ajouter une vérification si Mongo_url est présent: P>

if (!config.MONGO_URL) {
    throw new Error('MONGO_URL is not present in config');
}

mongoose.connect(config.MONGO_URL, { useNewUrlParser: true, useUnifiedTopology: true });


3 commentaires

J'ai reçu une nouvelle erreur: lancer une nouvelle erreur ('Mongo_url n'est pas présente dans CONFIG');


Cela signifie que mongo_url n'est pas dans votre config.


J'ai observé que j'avais une erreur dans mon fichier config.js après édition de code, j'ai maintenant une droite config.js. J'ai recommencé mon app.js et j'ai reçu ce message: "URL de Mongo introuvable"



1
votes
require('dotenv').config()
const path = require('path');

const root = path.join.bind(this, __dirname);

module.exports = {
  PORT: process.env.PORT || 3000,
  MONGO_URL: process.env.MONGO_URL,
  SESSION_SECRET: process.env.SESSION_SECRET,
  IS_PRODUCTION: process.env.NODE_ENV === 'production',
  PER_PAGE: process.env.PER_PAGE,
  DESTINATION: 'uploads'
};

9 commentaires

J'ai reçu une nouvelle erreur: lancer une nouvelle erreur ('Mongo_url n'est pas présente dans CONFIG');


Cela signifie config.mongo_url est indéfini. Pouvez-vous s'il vous plaît montrer votre fichier de configuration


Oui sûr, le code est ci-dessus dans la poste elle-même (config.js)


J'ai observé que j'avais une erreur dans mon fichier config.js après édition de code, j'ai maintenant une droite config.js. J'ai recommencé mon app.js et j'ai reçu ce message: "URL de Mongo introuvable"


console.log (config.mongo_url) Essayez ceci dans App.js et voyez ce qu'il enregistre.


J'ai eu: "indéfini". Message complet: "indéfini" "URL de Mongo non trouvé"


OK .. console.log (processus.env.mongo_url) Essayez ce code dans config.js et voyez ce qu'il enregistre.


Laissez-nous Continuez cette discussion en chat .


Le problème était avec le fichier .env, merci nithin k.j



0
votes

dans mon cas, je l'ai utilisé comme ceci: xxx


0 commentaires