MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi est-ce que je reçois cet avertissement obsolète ? ! MongoDB

Republier depuis https://jira.mongodb.org/browse/NODE-1868 :

Les messages d'obsolescence sont probablement dus au fait que client.connect est appelé plusieurs fois. Globalement, appeler client.connect plusieurs fois actuellement (à partir du pilote v3.1.13 ) a un comportement indéfini et n'est pas recommandé. Il est important de noter qu'une fois la promesse renvoyée par connect résout, le client reste connecté jusqu'à ce que vous appeliez client.close :

const client = new MongoClient(...);

client.connect().then(() => {
  // client is now connected.
  return client.db('foo').collection('bar').insertOne({
}).then(() => {
  // client is still connected.

  return client.close();
}).then(() => {
  // client is no longer connected. attempting to use it will result in undefined behavior.
});

Le client maintient par défaut plusieurs connexions à chaque serveur auquel il est connecté et peut être utilisé pour plusieurs opérations simultanées*. Vous devriez pouvoir exécuter client.connect une fois, puis exécutez vos opérations sur l'objet client

* Notez que le client n'est PAS thread-safe ou fork-safe, il ne peut donc pas être partagé entre les fourches, et il n'est pas compatible avec le cluster du nœud ou worker_threads modules.