MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

db.collection ist keine Funktion bei Verwendung von MongoClient v3.0

Für Benutzer mit Version 3.0 des nativen NodeJS-Treibers von MongoDB:

(Dies gilt für Personen mit "mongodb":"^3.0.0-rc0" oder einer neueren Version in package.json, die weiterhin die neueste Version verwenden möchten.)

In Version 2.x des nativen NodeJS-Treibers von MongoDB erhalten Sie das Datenbankobjekt als Argument für den Connect-Callback:

MongoClient.connect('mongodb://localhost:27017/mytestingdb', (err, db) => {
  // Database returned
});

Laut Änderungsprotokoll für 3.0 erhalten Sie jetzt stattdessen ein Client-Objekt, das das Datenbankobjekt enthält:

MongoClient.connect('mongodb://localhost:27017', (err, client) => {
  // Client returned
  var db = client.db('mytestingdb');
});

Das close() -Methode wurde ebenfalls auf den Client verschoben. Der Code in der Frage kann daher übersetzt werden in:

MongoClient.connect('mongodb://localhost', function (err, client) {
  if (err) throw err;

  var db = client.db('mytestingdb');

  db.collection('customers').findOne({}, function (findErr, result) {
    if (findErr) throw findErr;
    console.log(result.name);
    client.close();
  });
});