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控制分页打印、打印分页示例
Feb 08 Javascript
Javascript中浏览器窗口的基本操作总结
Aug 18 Javascript
vue.js事件处理器是什么
Mar 20 Javascript
vue 打包后的文件部署到express服务器上的方法
Aug 09 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
Nov 03 Javascript
vue-router实现组件间的跳转(参数传递)
Nov 07 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
Mar 21 Javascript
利用vue.js把静态json绑定bootstrap的table方法
Aug 28 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 Javascript
vue路由传参三种基本方式详解
Dec 09 Javascript
详解实现vue的数据响应式原理
Jan 20 Vue.js
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
星际流派综述
2020/03/04 星际争霸
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
PHP 和 MySQL 基础教程(一)
2006/10/09 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
webpack优化的深入理解
2018/12/10 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
python截取两个单词之间的内容方法
2018/12/25 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
为什么需要版本控制?
2013/08/08 面试题
园艺师求职信
2014/03/10 职场文书
拉拉队口号
2014/06/16 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python