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 相关文章推荐
js面向对象 多种创建对象方法小结
May 21 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
Aug 14 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
c#+jquery实现获取radio和checkbox的值
Sep 12 Javascript
基于react组件之间的参数传递(详解)
Sep 05 Javascript
Vue实现表格中对数据进行转换、处理的方法
Sep 06 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
Sep 07 Javascript
js实现点击展开隐藏效果(实例代码)
Sep 28 Javascript
webpack 处理CSS资源的实现
Sep 27 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
Nov 06 Javascript
flexible.js实现移动端rem适配方案
Apr 07 Javascript
JavaScript继承的三种方法实例
May 12 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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
php使用PDO方法详解
2014/12/27 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
js实现抽奖效果
2017/03/27 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python中无限元素列表的实现方法
2014/08/18 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
神经网络python源码分享
2017/12/15 Python
python抖音表白程序源代码
2019/04/07 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
《哪吒闹海》教学反思
2014/02/28 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
三峡大坝导游词
2015/01/31 职场文书
小学工作总结2015
2015/05/04 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
Python实现聚类K-means算法详解
2022/07/15 Python