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 相关文章推荐
网站404页面3秒后跳到首页的实例代码
Aug 16 Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 Javascript
js实现图片上传并正常显示
Dec 19 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
jquery 判断selection range 是否在容器中的简单实例
Aug 02 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
web页面和微信小程序页面实现瀑布流效果
Sep 26 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
详解vue2.6插槽更新v-slot用法总结
Mar 09 Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 Javascript
原生js实现分页效果
Sep 23 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使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP引用的调用方法分析
2016/04/25 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
原生js实现滑块区间组件
2021/01/20 Javascript
python+pandas分析nginx日志的实例
2018/04/28 Python
Python如何输出整数
2020/06/07 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
工商管理应届生求职信
2013/10/07 职场文书
教师岗位职责
2013/11/17 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
支部组织生活会方案
2014/06/10 职场文书
2016年寒假生活小结
2015/10/10 职场文书
《三国志》赏析
2019/08/27 职场文书
python实现简易名片管理系统
2021/04/11 Python
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA