当出现db.collection is not a function报错时,原因是mongo版本升级为3.0以后api发生变化。
3.0:
回调函数返回的是访问对象的父对象。所以要
let db = client.db(‘forum’);
之后再访问数据库对象:
db.collection(‘forum’)
// 建立数据库
var MongoClient = require('mongodb').MongoClient;
//链接数据库
function _connectDB(callback) {
let url = 'mongodb://127.0.0.1:27017/forum';
MongoClient.connect(url, { useNewUrlParser: true }, function(err, client){
if(err){
callback(err, client);
return;
}
callback(err, client)
})
}
init(); // 初始化
function init(){
_connectDB((err, client) => {
if(err) {
console.log(err);
return;
}
let db = client.db('forum');
db.collection('forum').createIndex({'username': 1}, null, (err, result) => {
console.log('创建索引')
client.close();
})
})
}
数据更新
json1:筛选条件
json2:更新哪些字段 参数2需要使用