mongodb初始化并使用node.js实现mongodb操作封装方法


Posted in Javascript onApril 02, 2019

mongodb的下载只要在https://www.mongodb.com/网站就能够下载

或者使用本地下载 https://3water.com/softs/590664.html

下载后安装只用一直点next就可以,注意最好使用默认路径安装到C盘,然后在任意位置建立一个文件夹用于储存你的数据库

这里我命名的是mongodbWorkspace

复制他的路径,在命令行工具(windows快捷键win+R)中,输入mongod --dbpath 你的路径,我的如下所示

mongodb初始化并使用node.js实现mongodb操作封装方法

现在你就已经初始化好了你的数据库,不用关掉它,他打开来才是开启了数据库服务,然后再新建一个命令行工具窗口

输入mongo,若出现以下窗口,代表你的连接已经成功了,这里是能够写操作mongodb的代码的

输入use yourDatabaseName =>如果你有这个数据库名,则进入,如果没有这个数据库名,则新建了这个数据库

mongodb初始化并使用node.js实现mongodb操作封装方法

现在我打开了我的VScode,新建一个终端后输入npm installmongodb下载完成后,在index.js中导入(后面会有代码)

先定义一个用于储存方法的JS文件,我命名为myFun.js,内容如下

myFun.js

//传入db环境, 集合名字,需要插入的数据,callback
var insertData = function (db, myCollection, data, callback) {
  //获得指定的集合 
  var collection = db.collection(myCollection);
  //插入数据
  collection.insert(data, function (err, result) {
    //如果存在错误
    if (err) {
      console.log('Error:' + err);
      return;
    }
    //调用传入的回调方法,将操作结果返回
    callback(result);
  });
}
//传入db环境, 集合名字,要修改的数据的条件,要修改的结果,callback
var updateData = function (db, myCollection, where, set, callback) {
  //获得指定的集合 
  var collection = db.collection(myCollection);
  //修改数据
  collection.updateMany(where, set, function (err, result) {
    //如果存在错误
    if (err) {
      console.log('Error:' + err);
      return;
    }
    //调用传入的回调方法,将操作结果返回
    callback(result);
  });
}
//传入db环境, 集合名字,要查询的数据的条件,要显示的字段,callback
var findData = function (db, myCollection, where, set, callback) {
  //获得指定的集合 
  var collection = db.collection(myCollection);
  //查询数据
  collection.find(where, set).toArray(function (err, result) {
    //如果存在错误
    if (err) {
      console.log('Error:' + err);
      return;
    }
    //调用传入的回调方法,将操作结果返回
    callback(result);
  });
}
//传入db环境, 集合名字,要删除数据的条件,callback
var deleteData = function (db, myCollection, where, callback) {
  //获得指定的集合 
  var collection = db.collection(myCollection);
  collection.remove(where, function (err, result) {
    //如果存在错误
    if (err) {
      console.log('Error:' + err);
      return;
    }
    //调用传入的回调方法,将操作结果返回
    callback(result);
  });
}


//暴露方法
module.exports.insertData = insertData;
module.exports.updateData = updateData;
module.exports.findData = findData;
module.exports.deleteData = deleteData;

最后的几行是用来暴露内部方法的,在你的index.js中可以require这个JS文件,然后就能访问到内部的数据及方法

这里是按照我的想法来定义的,这里只是一个示例,大家最好能按照自己的想法来设计自己的方法,会使用的更加舒服,比如myCollection可以传进来他的集合名字,也可以传进来的是这个集合名字的实例,这样会对自己有很大的提升,下面是我的主JS文件

index.js

var MongoClient = require('mongodb').MongoClient;
var myFun = require('./myFun');

//定义连接数据库的地址
const url = 'mongodb://localhost:27017/';
var dbName = 'kejikeji'

//连接数据库
MongoClient.connect(url, (err, client) => {
  if (err) {
    console.log('数据连接失败');
    return false;
  }
  console.log('数据库连接成功');
  let db = client.db(dbName);  /*获取db对象*/
  let collection = "user";
  var data = [{ "name": "mongodb3.0", "age": 114 }, { "name": "mongodb3.0", "age": 17 }];
   myFun.insertData(db, collection, data, (result) => {
     console.log(result.ops);
   });
  //要修改数据的条件,>=10岁的用户
  var updateWhere = { age: { "$gte": 10 } };
  //要修改的结果
  var updateSet = { $set: { age: 95 } };
  myFun.updateData(db, collection, updateWhere, updateSet, (result) => {
    console.log(result.result);
  });
  //要查询数据的条件,>=10岁的用户
  var findWhere = { age: { "$gte": 10 } };
  //要显示的字段
  var findSet = { age: 1 };
  myFun.findData(db, collection, findWhere, findSet, (result) => {
    console.log(result[1].age);
  });
  //要删除数据的条件,name=mongodb3.0的用户删除
  var deleteWhere = { name: "mongodb3.0" };
  myFun.deleteData(db, collection, deleteWhere, (result) => {
    console.log(result);
  });
})

mongodb初始化并使用node.js实现mongodb操作封装方法

这是我的运行截图,代表操作都正确了,在第二个操作窗口,大家可以use进入数据库中,输入db.yourCollectionName.find()查询此集合内的全部字段

mongodb初始化并使用node.js实现mongodb操作封装方法

这样就能确定自己的语句有没有起作用了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS扩展 垂直tabLayout实现代码
Jun 21 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
深入理解js promise chain
May 05 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
Jun 07 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
AngularJS 中的Promise --- $q服务详解
Sep 14 Javascript
js中string和number类型互转换技巧(分享)
Nov 28 Javascript
vue 设置proxyTable参数进行代理跨域
Apr 09 Javascript
Iview Table组件中各种组件扩展的使用
Oct 20 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
Apr 30 jQuery
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
koa大型web项目中使用路由装饰器的方法示例
Apr 02 #Javascript
vue中v-text / v-html使用实例代码详解
Apr 02 #Javascript
Seajs源码详解分析
Apr 02 #Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 #Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
Apr 02 #Javascript
基于vue实现web端超大数据量表格的卡顿解决
Apr 02 #Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 #Javascript
You might like
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
PHP常用的排序和查找算法
2015/08/06 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
新浪的图片新闻效果
2007/01/13 Javascript
js function使用心得
2010/05/10 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
python从Oracle读取数据生成图表
2020/10/14 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
开学典礼策划方案
2014/05/28 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书