您的位置:首页 > 数据库 > Mongodb

node.js封装mongodb增删改查函数的操作

2019-01-24 13:47 519 查看

node.js封装mongodb增删改查函数的操作

版权声明:本文为博主原创文章,转载请注明原文地址https://blog.csdn.net/weixin_42185136/article/details/86625473
mongo使用是,我们首先用npm install mongodb,先来下载我们使用的mongodb包,下载后应该是3.0以上的版本,早一点的是2.0的版本,2.0版本和3.0版本在语法使用上还是有差异的,2.0的应该现在用的不多了吧,我就先写一下3.0版本的封装。声明一下我的mongodb的版本是3.1.10。

查看mongodb版本在框架中是在package.json,如果不是使用框架的,在使用npm install安装后会提示版本号
首先我先写一些平常我们使用的方法:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";

//database--数据库名,table--表名, data--数据,updateStr--修改后的数据

/*这里是查找数据*/
const findMemo = function (database,table,data) {
return new Promise((resolve, reject) => {
MongoClient.connect(url,{ useNewUrlParser: true }, function (err, db) {
if (err) {
console.log(err);
resolve(err)
} else {
var dbo = db.db(database);
dbo.collection(table).find(data).toArray((err, result) => {
if (err) {
reject(err)
} else {
resolve(result)
}
db.close();
});
}
});
})
};
/*这里是插入数据*/
const addMemo = function (database,table, data) {
return new Promise((resolve, reject) => {
MongoClient.connect(url, { useNewUrlParser: true }, function (err, db) {
if (err) {
console.log(err);
resolve(err)
} else {
var dbo = db.db(database);
dbo.collection(table).insertOne(data, (err, result) => {
if (err) {
reject(err)
} else {
resolve(result)
}
db.close();
});
}
});
})
};

/*这里是修改数据*/
const updateMemo = function (database,table, data, updateStr) {
return new Promise((resolve, reject) => {
MongoClient.connect(url, {useNewUrlParser: true}, function (err, db) {
if (err) {
console.log(err);
resolve(err)
} else {
var dbo = db.db(database);
dbo.collection(table).updateOne(data, updateStr, (err, result) => {
if (err) {
reject(err)
} else {
resolve(result)
}
db.close();
});
}
});

1bb8b
})
};
/*这里是删除数据*/
const delMemo = function (database,table,data) {
return new Promise((resolve, reject) => {
MongoClient.connect(url,{ useNewUrlParser: true },  function (err, db) {
if (err) {
console.log(err);
resolve(err)
} else {
var dbo = db.db(database);
dbo.collection(table).removeOne(data, (err, result) => {
if (err) {
reject(err)
} else {
resolve(result)
}
db.close();
});
}
});
})
};

module.exports = {
findMemo, addMemo, updateMemo, delMemo
};

3.0版本使用

//增加数据
await ctx.db2.addMemo("mydb","user",{"name":"张三","pwd":123})
//删除数据
await ctx.db2.delMemo("mydb","user",{"name":"张三","pwd":123})
//修改数据
await ctx.db2.updateMemo("mydb","user",{"name":"张三","pwd":123},{$set{"name":"李四","pwd":456}})
//查找数据
await ctx.db2.findMemo("mydb","user",{"name":"张三","pwd":123})

2.0版本封装mongodb的增删改查

//dbname是数据库名称,dataform是集合名称
function mongodbModel(dbname,dataform) {
var MongoClient;
var DB_CONN_STR;
this.init = function() {
MongoClient = require('mongodb').MongoClient;
DB_CONN_STR = 'mongodb://localhost:27017/'+dbname;
}

/*这里是插入数据*/
this.insert = function(data,callback) {
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log('连接成功')
var collection = db.collection(dataform);
collection.insert(data, function(err,result){
callback(err,result);
})
})
}
/*这里是删除数据*/
this.remove = function(data,callback){
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log('连接成功')
var collection = db.collection(dataform);
collection.remove(data, function(err,result){
callback(err,result);
})
})
}
/*这里是修改*/
this.update=function(data,updata,callback){
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log('连接成功')
var collection = db.collection(dataform);
collection.update(data,updata,function(err,data){
callback(err,data);
})
})
}
/*这里是查询*/
this.find=function(data,callback){
MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log('连接成功')
var collection = db.collection(dataform);
collection.find(data).toArray(function(err,data){
callback(err,data);
})
})
}
}

module.exports = mongodbModel;

2.0版本使用

var mongodbModel = require('./mongodbModel');
var mongodbObject = new mongodbModel('mydb','user');
mongodbObject.init();

/*这里是插入*/
mongodbObject.insert({"name":"张三"},function(err,data){
if(err){
console.log(err);
}else{
console.log(data);
}
})

/*这是删除*/
mongodbObject.remove({"name":"张三"'},function(err,data){
if(err){
console.log(err);
}else{
console.log('成功删除指定数据');
}
})

/*这里是修改*/
mongodbObject.update({"name":"张三"},{$set:{"name":"李四"}},function(err,data){
if(err){
console.log(err);
}else{
console.log(data);
}
})

/*这里是条件查询*/
mongodbObject.find({"name":"张三"},function(err,data){
if(err){
console.log(err);
}else{
console.log(data);
}
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: