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小玩意 几个属性相加不能超过一个特定值.
Sep 29 Javascript
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
Jun 16 Javascript
jQuery结合ajax实现动态加载文本内容
May 19 Javascript
js实现显示当前状态的导航效果代码
Aug 28 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
js图片上传的封装代码
Aug 01 Javascript
vue代码分割的实现(codesplit)
Nov 13 Javascript
element跨分页操作选择详解
Jun 29 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精确的统计在线人数的方法
2015/10/21 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
PHP时间函数使用详解
2019/03/21 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
2017/07/20 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
python在控制台输出进度条的方法
2015/06/20 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
PHP经典面试题
2016/09/03 面试题
设计部经理的岗位职责
2013/11/16 职场文书
纺织工程专业个人求职信范文
2014/01/27 职场文书
幼教求职信
2014/03/12 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
离婚协议书怎么写2014
2014/09/30 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
自书遗嘱范文
2015/08/07 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers