在nodejs操作mongodb顯示數據庫連接成功之後突然報了db.collection is not a function錯誤,引起這個錯誤的原因是nodejs獲取數據庫表的API寫法不對。(正如NodeJS | 入門篇 (一)提到的,不同版本的API,使用規範有差別)。修改方式如下:
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/testdb';
var insertData = function(db, callback) {
//3.0新寫法
var db = db.db("testdb");
var collection = db.collection('test_table_01');
//var collection = db.collection('users');//將這句改成上面兩句
var data = [{_id:7,"name":'rose',"age":21},{_id:8,"name":'mark',"age":22}];
collection.insert(data, function(err, result) {
if(err)
{
console.log('Error:'+ err);
return;
}
callback(result);
});
}
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("連接成功!");
insertData(db, function(result) {
console.log(result);
db.close();
});
});