web-dev-qa-db-fra.com

Avertissement sur la connexion à MongoDB avec un serveur Node

Connexion avec le pilote natif MongoDB

J'ai écrit le code suivant pour connecter mongodb via un pilote natif qui a été installé avec npm install mongodb --save

const MongoClient = require("mongodb").MongoClient;
const url = "mongodb://127.0.0.1:27017";

const dbName = "game-of-thrones";
let db;

MongoClient.connect(
url,
 { useNewUrlParser: true },
  (err, client) => {
    if (err) return console.log(err);

  db = client.db(dbName);
   console.log(`Connected MongoDB: ${url}`);
   console.log(`Database: ${dbName}`);
  }
);

Lorsque j'écris sur le terminal node server.js J'ai eu l'erreur suivante

(nœud: 3500) DeprecationWarning: le moteur actuel de découverte et de surveillance du serveur est obsolète et sera supprimé dans une future version. Pour utiliser le nouveau moteur de découverte et de surveillance du serveur, transmettez l'option {useUnifiedTopology: true} à MongoClient.connect. MongoDB connecté: mongodb: //127.0.0.1: 27017 Base de données: game-of-thrones

La base de données est connectée, mais comment puis-je me débarrasser de l'avertissement

21
Momin

J'ai essayé tout ça. Le code ci-dessous indique immédiatement 'Terminé'. Pas d'erreur mais pas de résultat non plus. Après un certain temps, je reçois:

Promise { <pending> } 
the options [servers] is not supported 
the options [caseTranslate] is not supported 
the options [dbName] is not supported 
the options [credentials] is not supported 
Finished
(node:111766) UnhandledPromiseRejectionWarning: MongoTimeoutError: Server selection timed out after 30000 ms

code (où le nom d'utilisateur et le mot de passe sont remplacés par les données réelles):

const url = 'mongodb://username:password@localhost:27017';
const MongoClient = require('mongodb').MongoClient;
const client = new MongoClient(url, {useUnifiedTopology: true});

client.connect().then((client)=>{
    var db = client.db('MYDB');
    console.log ('Retrieving data');

    db.collection('products').find().toArray(function (err, result) {
        if (err) throw err
        console.log(result);
    });
});

console.log('Finished');

mon package.json contient:

"connect-mongo": "^3.2.0",
"mongodb": "^3.4.1"
0
pdwonline