Eu tenho tentado o tutorial do W3schools no nodeJS com o MongoDB.
Quando tento implementar este exemplo em um ambiente nodeJS e invoco a função com uma chamada AJAX, obtive o erro abaixo:
TypeError: db.collection is not a function
at c:\Users\user\Desktop\Web Project\WebService.JS:79:14
at args.push (c:\Users\user\node_modules\mongodb\lib\utils.js:431:72)
at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:254:5
at connectCallback (c:\Users\user\node_modules\mongodb\lib\mongo_client.js:933:5)
at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:794:11
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
Por favor, encontre abaixo meu código implementado:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mytestingdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
db.collection("customers").findOne({}, function(err, result) {
if (err) throw err;
console.log(result.name);
db.close();
});
});
Observe que o erro ocorre sempre que a execução ocorre:
db.collection("customers").findOne({}, function(err, result) {}
Além disso, observe (caso isso importe) que eu instalei o pacote MongoDB mais recente para o nó JS ( npm install mongodb ) e a versão do MongoDB é o MongoDB Enterprise 3.4.4, com o driver MongoDB Node.js v3.0.0-rc0.
db.collection()...
um log do console para ver se ele chega lá, sem problemas.