const MongoClient = require('mongodb').MongoClient;
const ObjectId = require('mongodb').ObjectId;
const url = "mongodb://localhost:27017";
const dbName = 'Javascript语言精粹';
let obj = {};
// 连接封装
function _connect(callback){
MongoClient.connect(url, function(err, client){
if(err) throw err;
callback(client);
client.close();
})
}
// 创建数据库集合
obj.create = function(colName, fn){
_connect(function(client){
client.db(dbName).createCollection(colName, function(err, res){
fn(err, res);
})
})
}
// 插入
obj.insert = function(colName, dataArr, fn){
_connect(function(client){
const col = client.db(dbName).collection(colName);
col.insert(dataArr, function(err, res){
fn(err, res);
})
});
}
// 添加
obj.save = function(colName, data, fn){
_connect(function(client){
const col = client.db(dbName).collection(colName);
col.save(data, function(err, res){
fn(err, res);
});
})
}
// 删除
obj.remove = function(colName, filter, fn){
_connect(function(client){
const col = client.db(dbName).collection(colName);
col.remove(filter, function(err, res){
fn(err, res)
})
})
}
// 更新
obj.update = function(colName, filterNum, update, fn){
_connect(function(client){
const col = client.db(dbName).collection(colName);
col.update({"_id" : ObjectId(filterNum)}, {$set:update}, function(err, res){
fn(err, res);
})
})
}
// 查找
obj.find = function(colName, filter, fn){
_connect(function(client){
const col = client.db(dbName).collection(colName);
col.find(filter).toArray(function(err, res){
fn(err, res);
})
})
}
// 创建索引
obj.index = function(colName){
_connect(function(client){
const col = client.db(dbName).collection(colName);
col.createIndex({"anystr":"2dsphere"}, function(err, res){
fn(err, res);
})
})
}
// obj.find('artical', {}, function(err, res){
// if(err) throw err;
// console.log(res);
// })
module.exports = obj;