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 写类方式之五
Jul 05 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
Aug 26 Javascript
加载jQuery后$冲突的解决办法
Jul 09 Javascript
javascript中的float运算精度实例分析
Aug 21 Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
跨域传值即主页面与iframe之间互相传值
Dec 09 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 Javascript
JS JSOP跨域请求实例详解
Jul 04 Javascript
vue.js删除动态绑定的radio的指定项
Jun 02 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
vue-router结合vuex实现用户权限控制功能
Nov 14 Javascript
JavaScript ES6的函数拓展
Jan 18 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里面的抽象类
2010/01/28 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python 将pdf转成图片的方法
2018/04/23 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
解决Python一行输出不显示的问题
2018/12/03 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
python频繁写入文件时提速的方法
2019/06/26 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
司机检讨书
2014/02/13 职场文书
护士上岗前培训自我鉴定
2014/04/20 职场文书
学习之星事迹材料
2014/05/17 职场文书
商业街策划方案
2014/05/31 职场文书
低碳环保口号
2014/06/12 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
工作经历证明范本
2015/06/15 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL