Node.js系列之连接DB的方法(3)


Posted in Javascript onAugust 30, 2019

背景

node.js,有人称之为运行在服务器端的JavaScript。以往我们使用JavaScript时,都是依赖后端查询数据库并返回数据,而JavaScript只需要展示即可。问题来了,就不能绕开后端直接查询数据库吗?答案是肯定的。

关系型——以mysql操作为例

node.js提供了mysql操作的驱动(模块),如果还未安装,需要执行 npm install mysql 命令来安装。

//引入模块
var mysql=require('mysql');

//定义连接对象connection
var connection=mysql.createConnection({
 host:'192.168.*.*',
 user:'root',
 password:'******',
 database:'DB'
});

//连接
connection.connect();

//执行查询测试
var sql='select * from sys_user';
connection.query(sql,function(err,result){
 if(err){
 console.log('[select error]-',err.message);
 return;
 }

 console.log('-----select-------');
 console.log(result);
 console.log('------------------------');
});

//关闭连接
connection.end();

部分查询结果如下:

Node.js系列之连接DB的方法(3)

node.js连接mysql的其他增删改操作就不一一展示了,和查询操作类似,准备好sql语句,使用提供的响应的方法就ok了。

非关系型——以mongoDB为例

安装驱动模块

npm install mongodb

插入操作

var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://192.168.*.*:27017/runoob'; 


 var insertData = function(db, callback) { 
 // 连接到表 site
 var collection = db.collection('site');
 // 准备数据
 var data = [{"name":"Sherry","sex":"female","email":"xxxxx@163.com"},{"name":"Tom","sex":"male","email":"xxxx@163.com"}];
 collection.insert(data, function(err, result) { 
 if(err)
 {
  console.log('Error:'+ err);
  return;
 } 
 callback(result);
 });
}

MongoClient.connect(DB_CONN_STR, function(err, db) {
 console.log("连接成功!");
 insertData(db, function(result) {
 console.log(result);
 db.close();
 });
});

执行代码:

Node.js系列之连接DB的方法(3)

可以看到插入日志

Node.js系列之连接DB的方法(3)

使用命令mongodb/bin/mongo进入mongo客户端,可以看到刚刚插入的数据。

Node.js系列之连接DB的方法(3)

总结

从操作来看,node.js操作数据库还是比较简单的,底层实现依赖封装的mysql/mongodb模块。

从场景来看,node.js虽然可以实现大多数应用的功能,但并非要替代其他技术或产品,而是针对不同情况做出适合的选择。

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

Javascript 相关文章推荐
用Javascript同时提交多个Web表单的方法
Dec 26 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
Apr 12 Javascript
JS继承 笔记
Jul 13 Javascript
使用jspdf生成pdf报表
Jul 03 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 Javascript
JS中SetTimeout和SetInterval使用初探
Mar 23 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 Javascript
JavaScript实现学生在线做题计时器功能
Dec 05 Javascript
从0到1搭建element后台框架优化篇(打包优化)
May 12 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
微信小程序实现图片压缩
Dec 03 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 #Javascript
Node.js系列之安装配置与基本使用(1)
Aug 30 #Javascript
微信小程序实现写入读取缓存详解
Aug 30 #Javascript
VUE 自定义组件模板的方法详解
Aug 30 #Javascript
Jquery动态列功能完整实例
Aug 30 #jQuery
vue 兄弟组件的信息传递的方法实例详解
Aug 30 #Javascript
微信小程序sessionid不一致问题解决
Aug 30 #Javascript
You might like
php+xml编程之xpath的应用实例
2015/01/24 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
如何在PHP中生成随机数
2020/06/04 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
js 对象是否存在判断
2009/07/15 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
javascript 闭包详解
2015/02/15 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
js实现炫酷的左右轮播图
2017/01/18 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
Python下singleton模式的实现方法
2014/07/16 Python
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
python从入门到精通(DAY 3)
2015/12/20 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
详解Python 正则表达式模块
2018/11/05 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
Django 框架模型操作入门教程
2019/11/05 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
jupyter 添加不同内核的操作
2021/02/06 Python
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
公司委托书格式范文
2014/04/04 职场文书
2014年仓库工作总结
2014/11/20 职场文书
2015年财务经理工作总结
2015/05/13 职场文书