数据库模块增删改查的封装
//使用 Promise 解决异步问题
const sql = {
//增:
//Collection --- 集合名称 { String类型 }
//insertObj --- 新增的数据 { Object类型 }
//
insert (Collection, insertObj){
//使用 Promise 解决异步问题
return new Promise((resolve, reject) => {
//把数据插入到集合中
Collection.insertMany(insertObj, (err) => {
//node中的错误优先回调
if(err) throw err;
resolve( );
})
})
},
// 删
//Collection --- 集合名称 { String类型 }
//deleteObj --- 删除的数据 { Object类型 }
//type --- 如果传入的值为1,则删除多条数据,否则只删除单条数据,默认为删除单条数据(可选
//
delete (Collection, deleteObj, type){
//使用 Promise 解决异步问题
return new Promise((resolve, reject) => {
//设置默认删除单条数据
let deleteType = 'deleteOne';
//如果传入的值为1,则删除多条数据,否则为默认删除数量(三目表达式)
type === 1 ? deleteType = 'deleteMany' : deleteType = 'deleteOne';
//根据type值删除集合中的数据
Collection[deleteType](deleteObj, (err) => {
//node中的错误优先回调
if(err) throw err;
resolve( );
})
})
},
//改
//Collection --- 集合名称 { String类型 }
//updateObj --- 更新的数据 { Object类型 }
//whereObj --- 更新的条件 { Object类型 }
//type --- 如果传入的值为1,则更新多条数据,否则只更新单条数据,默认为更新单条数据(可选)
//
update (Collection, whereObj, updateObj, type){
//使用 Promise 解决异步问题
return new Promise((resolve, reject) => {
//设置默认更新单条数据
let updateType = 'updateOne';
//如果传入的值为1,则更新多条数据,否则为默认更新数量(三目表达式)
type === 1 ? updateType = 'updateMany' : updateType ='updateOne';
//根据type值更新集合中的数据
Collection[updateType](whereObj, updateObj, (err) => {
//node中的错误优先回调
if(err) throw err;
resolve( );
})
})
},
//查
//
//Collection --- 集合名称 { String类型 }
//whereObj --- 查询的条件 { Object类型 }
//showObj --- 显示的数据{ Object类型 }
//
find (Collection, whereObj, showObj){
//使用 Promise 解决异步问题
return new Promise((resolve, reject) => {
//根据查询的条件查询集合中的数据并显示
Collection.find(whereObj, showObj).exec((err, data) => {
//node中的错误优先回调
if(err) throw err;
resolve(data);
})
})
}
//把封装好的模块暴露出去,供业务逻辑使用 --- 增删改查
module.exports = sql;