MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Perché ricevo questo avviso deprecato?! MongoDB

Ripubblicazione da https://jira.mongodb.org/browse/NODE-1868:

I messaggi di ritiro sono probabili perché client.connect viene chiamato più volte. Nel complesso, chiamando client.connect più volte attualmente (a partire dal driver v3.1.13 ) ha un comportamento indefinito e non è consigliato. È importante notare che una volta restituita la promessa da connect risolve, il client rimane connesso finché non chiami 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.
});

Per impostazione predefinita, il client mantiene più connessioni a ciascun server a cui è connesso e può essere utilizzato per più operazioni simultanee*. Dovresti eseguire correttamente client.connect una volta, quindi eseguire le operazioni sull'oggetto client

* Nota che il client NON è thread-safe o fork-safe, quindi non può essere condiviso tra fork e non è compatibile con il cluster del nodo o worker_threads moduli.