MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да коригирате MongoError:Не може да се използва сесия, която е приключила

Във вашия код той не чака find() за да завърши изпълнението си и преминава към client.close() изявление. Така че докато се опита да прочете данни от db, връзката вече е приключила. Сблъсках се със същия проблем и го реших по следния начин:

// connect to your cluster
const client = await MongoClient.connect('yourMongoURL', { 
    useNewUrlParser: true, 
    useUnifiedTopology: true,
});
// specify the DB's name
const db = client.db('nameOfYourDB');
// execute find query
const items = await db.collection('items').find({}).toArray();
console.log(items);
// close connection
client.close();

РЕДАКТИРАНЕ:цялото това нещо трябва да е в async функция.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изберете дължина на низа в mongodb

  2. Как да видите внедряването на хранилището, генерирано от Spring Data MongoDB?

  3. Премахване на име на числова колекция

  4. MongoDB Query с множество условия и срез

  5. Моля, използвайте „MongoMappingContext#setAutoIndexCreation(boolean)“ или заменете „MongoConfigurationSupport#autoIndexCreation()“, за да бъде изрично