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); } })
相关文章推荐
- node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装
- node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装
- nodejs mongoose 操作mongodb 数据库封装
- Node.js对于MongoDB的操作DAO的封装
- Node.js封装对mongodb操作的模块
- mongodb + node.js封装的数据库增删改查
- mongodb初始化并使用node.js实现mongodb操作封装
- mongodb初始化并使用node.js实现mongodb操作封装方法
- node.js-mongodb封装分页查找
- 【汇总】Node.js文件系统、路径的操作函数
- node.js对mongodb的一些操作
- Node.js 操作Mongodb
- nodejs File System 文件系统操作函数分类
- Node.js文件系统、路径的操作函数
- node.js 调用mongodb的group 函数,并到处到excel 中。
- node.js操作mongodb学习小结
- 安装使用Mongoose配合Node.js操作MongoDB的基础教程
- Node.js操作mysql数据库增删改查
- node.js对mongodb的增删查改
- 在Node中基于Mongoose对MongoDB进行增删查改(CRUD)操作(一)