web-dev-qa-db-fra.com

TypeError: db.close n'est pas une fonction

J'ai l'application Node.js ci-dessous qui utilise MongoDb:

var MongoClient = require('mongodb').MongoClient;

var demoPerson = { name:'John', lastName:'Smyth' };
var findKey = { name: 'John' };

MongoClient.connect('mongodb://127.0.0.1:27017/demo', { useNewUrlParser: true }, function(err, client) {
  const db = client.db('demo');
  if(err) throw err;
  console.log('Successfully connected');
  //console.log(db);

  var collection = db.collection('people');
  collection.insert(demoPerson, function(err, docs) {
    console.log('Inserted', docs[0]);
    console.log('ID:', demoPerson._id);

    collection.find(findKey).toArray(function(err, results) {
      console.log('Found results:', results);

      collection.remove(findKey, function(err, results) {
        console.log('Deleted person');

        db.close();
      });
    });
  });
});

Lorsque je l'exécute, j'obtiens cette erreur:

TypeError: db.close is not a function

Je ne comprends pas pourquoi cela ne fonctionne pas. Quelqu'un peut-il aider?

10
runnerpaul

Comme l'a commenté @Neil Lunn, client.close() devrait être utilisé à la place de db.close().

13
runnerpaul