db.collection is not a function when using MongoClient v3.0
mongodb, node.js
Solution
I encountered the same thing. In package.json, change mongodb line to "mongodb": "^2.2.33". You will need to uninstall mongodb npm by removing MongoDB Driver/ node_modules or etc , then install npm to install this version.
This resolved the issue for me. Seems to be a bug or docs need to be updated.
Problem
I have been trying W3schools tutorial on nodeJS with MongoDB. When I try to implement this example in a nodeJS environment and invoke the function with an AJAX call, I got the error below: ``` 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) ``` Please find below my implemented code: ``` 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(); }); }); ``` Note that the error occurs whenever the execution hits: ``` db.collection("customers").findOne({}, function(err, result) {} ``` Also, note (in case it matters) that I have installed the latest MongoDB package for node JS (npm install mongodb), and the MongoDB version is MongoDB Enterprise 3.4.4, with MongoDB Node.js driver v3.0.0-rc0.