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 miscellanea -display data real time, using window.status
Jan 09 Javascript
将jQuery应用于login页面的问题及解决
Oct 17 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 Javascript
动态加载js文件简单示例
Apr 21 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
老生常谈javascript的类型转换
Oct 12 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
Dec 26 Javascript
js选项卡的制作方法
Jan 23 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
axios基本入门用法教程
Mar 25 Javascript
微信小程序封装的HTTP请求示例【附升级版】
May 11 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自定义函数返回多个值
2006/11/26 PHP
php header()函数使用说明
2008/07/10 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
[00:35]可解锁地面特效
2018/12/20 DOTA
python开发之函数定义实例分析
2015/11/12 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python语言元素知识点详解
2019/05/15 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
药房管理制度范本
2015/08/06 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
virtualenv隔离Python环境的问题解析
2022/06/21 Python