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类型增加方法的实现代码(增加功能)
Dec 29 Javascript
jQuery阻止事件冒泡具体实现
Oct 11 Javascript
js获取时间并实现字符串和时间戳之间的转换
Jan 05 Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 Javascript
jQuery select自动选中功能实现方法分析
Nov 28 Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 Javascript
微信小程序request出现400的问题解决办法
May 23 Javascript
ES6中let 和 const 的新特性
Sep 03 Javascript
react 国际化的实现代码示例
Sep 14 Javascript
详解vue-cli 2.0配置文件(小结)
Jan 14 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
Oct 29 Javascript
vue二选一tab栏切换新做法实现
Jan 19 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
PHP技术开发技巧分享
2010/03/23 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
js资料toString 方法
2007/03/13 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
垃圾回收器的相关知识点总结
2018/05/13 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
Python中type的构造函数参数含义说明
2015/06/21 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
股权转让协议书
2014/04/12 职场文书
项目建议书范文
2014/05/12 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang