视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
nodejs操作mongodb的填删改查模块的制作及引入实例
2020-11-27 22:22:18 责编:小采
文档


安装相关模块

如果使用这个的话,你需要先自己安装一下他需要的模块,在根目录输入

npm install mongodb --save

进行模块安装,安装成功以后就可以进行以下的步骤。

文件的引入

以下是我书写的相关代码,放到你可以引用的相关目录,本人放到了express的根目录

function Mongo(options) {
 this.settings = {
 url: 'mongodb://localhost:27017/jk',
 MongoClient:require('mongodb').MongoClient,
 assert:require('assert')
 };
 for(let i in options){
 this.settings[i] = options[i];
 }
 this._run = function (fun) {
 let that = this;
 let settings = this.settings;
 this.settings.MongoClient.connect(this.settings.url, function (err, db) {
 settings.assert.equal(null, err);
 console.log("Connected correctly to server");
 fun(db, function () {
 db.close();
 });
 });
 };
 this.insert = function (collectionName, data, func) {
 //增加数据
 let insertDocuments = function (db, callback) {
 let collection = db.collection(collectionName);
 collection.insertMany([
 data
 ], function (err, result) {
 if (!err) {
 func(true);
 } else {
 func(false);
 }
 callback(result);
 });
 };
 this._run(insertDocuments);
 };
 this.update = function (collectionName, updateData, data, func) {
 //更新数据
 let updateDocument = function (db, callback) {
 let collection = db.collection(collectionName);
 collection.updateOne(updateData
 , {$set: data}, function (err, result) {
 if (!err) {
 func(true);
 } else {
 func(false);
 }
 callback(result);
 });
 };
 this._run(updateDocument);
 };
 this.delete = function (collectionName, data, func) {
 //删除数据
 let deleteDocument = function (db, callback) {
 let collection = db.collection(collectionName);
 collection.deleteOne(data, function (err, result) {
 if (!err) {
 func(true);
 } else {
 func(false);
 }
 callback(result);
 });
 };
 this._run(deleteDocument);
 };
 this.find = function (collectionName, data, func) {
 //查找数据
 let findDocuments = function (db, callback) {
 // Get the documents collection
 let collection = db.collection(collectionName);
 // Find some documents
 collection.find(data).toArray(function (err, docs) {
 if (!err) {
 func(true,docs);
 }
 else {
 func(false, err);
 }
 callback(docs);
 });
 };
 this._run(findDocuments);
 };
}
module.exports = Mongo;

我存入到了一个名字叫server.js的文件名内

使用

我们在需要使用页面先将模块引入,比如我在路由文件index.js里面引入:

const Server = require("../server.js");

然后需要实例化对象,如下:

let server = new Server();

如果需要配置相关信息,可以在实例化的时候传入一个对象配置,可以配置数据库的地址:

let server = new Server({url:"mongodb://localhost:27017/mydb"});

里面封装了四个方法,添删改查,分别是

添加方法

server.insert(数据表名,需要插入的数据(键值对的对象),回调函数);

更新方法

server.update(数据表名,查询的数据(对象),更新的数据(对象),回调函数);

删除方法

server.delete(数据表名,查询的数据(对象),回调函数);

查找方法

server.find(数据表名,查询的数据(对象),回调函数);

回调函数都会返回两个值,第一个布尔类型,是否处理成功,第二个值,查找返回查找到的个数,别的都返回处理成功的个数(现在一次只处理一条)

使用案例

比如我需要在一个路由里面查找数据,我就需要这样:

server.find("users",{username:"username"},function (bool,data) {
 if(bool){
 console.log("查询到数据为"+data.length+"条");
 }
 else{
 console.log(data);
 }
 });
});

上面的代码是查询了users表里面username为username的字段的数据,如果成功,后面data就会返回一个数组,如果出现错误,就直接返回data错误。

以上这篇nodejs操作mongodb的填删改查模块的制作及引入实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

下载本文
显示全文
专题