node作为一款可以兼容前后端的js语言,在做持久层操作上和Java比较类似,下面就简单介绍一下项目中的数据库配置操作.

首选使用express框架自动创建一个测试项目,并在目录下建立一个专门存放数据库配置的配置文件,比如:db.js  代码如下

/*
* 数据库配置文件
* @Author: zth
* @Date:   2019-02-18 10:50:45
* @Last Modified by:   zth
* @Last Modified time: 2019-03-05 11:35:42
*/// Mysql 配置项
var mysql = require("mysql");
var pool = mysql.createPool({host:"localhost",user:"root",password:"123456",database:"elink_platform"
});/*** mysql查询类* @Author   zth* @DateTime 2019-03-05T11:34:58+0800* @param    {string}                 sql      查询语句*/
function query(sql,callback) {pool.getConnection(function(err,connection) {connection.query(sql, function (err,rows) {callback(err,rows);connection.release();});});
}// MongoDB配置项
var MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/farmDB';
const dbName = 'farmDB';  /*** MongoDB查询类* @Author   zth* @DateTime 2019-03-05T10:23:09+0800* @param    {[string]}  collection [数据集合名称]* @param    {[json]}    query      [查询语句json对象]*/
function find(collectionName, query) {MongoClient.connect(url, {useNewUrlParser:true}, function(err, client) { const db = client.db(dbName);const collection = db.collection(collectionName);collection.find(query).toArray(function(err, docs) {console.log(docs);});
});
}exports.query = query;
exports.find = find;

这里为了测试就简单创建两个查询的方法,以调试通过为目的.

其次在需要的路由文件中引入db.js,然后进行调用即可.

var express = require('express');
var router = express.Router();var db = require("../config/db");

最后处理返回的结果集,这个和平时注册请求后端接口的数据处理一致.

router.get('/haveJobTypes', function(req, res, next) {console.log(JSON.stringify(req.query));var sql = "SELECT COALESCE (b.job_type_code,'sum') AS job_type_code,SUM(b.job_mu) AS job_mu FROM farm_job_info b LEFT JOIN farm_terminal_reg_info a ON a.car_id=b.car_id AND a.flag=1 AND b.flag=1 WHERE a.org_code IN (SELECT t1.CODE FROM sys_org_info t1,(SELECT @pcode :=CODE FROM sys_org_info WHERE id = " + req.query.orgId + ") t2 WHERE t1.CODE LIKE CONCAT(@pcode,'%')) AND b.job_date BETWEEN '" + req.query.startTime + "' AND '" + req.query.endTime + "' GROUP BY b.job_type_code WITH ROLLUP";db.query(sql, function(err, result){const obj = {status: err ? 1 : 0,data: err ? [] : result}res.json(obj);});var queryJson = { "carId": "HD146555" };db.find('terminal', queryJson, function(err, result) {console.log("result");console.log(result);})
});

NodeJS+Express+Mysql+MongoDB之环境配置相关推荐

  1. nodejs笔记五--MongoDB基本环境配置及增删改查;

    一.基本环境配置: 1,首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,然后一步一步next安装,当然可以自己更改安装目录:安装完成之后,配置环境变量 ...

  2. NodeJS+Express+mySQL服务端开发详解

    NodeJS+Express+mySQL服务端开发详解 随着NodeJS的发展,现在已经被很多人熟知,NodeJS已经成为了前端开发人员必备的技能.本文不会对NodeJS过多介绍 如果你感兴趣可以访问 ...

  3. 复盘《新冠疫苗在线预约系统》设计过程Nodejs+express+Mysql+前端

    新冠疫苗预约 使用的技术:nodejs +express +Mysql +html+bootstrap 运行环境:vscode 1. 项目的搭建 检验node环境 确认是否安装node express ...

  4. nodeJS+express+mysql模块封装之服务器渲染小demo

    nodeJS+express+mysql模块封装之服务器渲染小demo 创建一个小项目 npm init 下载相关中间件(根据package.js来下载) package.js 目录结构 index. ...

  5. nodejs的下载安装及环境配置及常见问题--react学习必备--nodejs重新安装前的必要卸载

    学习react我们首先需要使用react和react-dom这两个包,然而在终端用npm触发这一事件的前提是已经安装了nodejs.提示为 npm : 无法将"npm"项识别为 c ...

  6. LNMP(linux+nginx+mysql+php)服务器环境配置

    LNMP(linux+nginx+mysql+php)服务器环境配置 一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 "engine X", ...

  7. nodejs下载安装、npm环境配置、yarn下载与环境配置

    Windows 安装nodejs.npm.yarn 一.nodejs下载与安装 1. 下载 1.1 打开浏览器搜索nodejs 1.2. 下载nodejs 2. 安装 按照图中指示完成安装即可 至此n ...

  8. nodejs+express+mysql(后台实例项目练习4—实现机构新增功能)

    nodejs+express+mysql(后台实例项目练习-搭建项目) nodejs+express+mysql(后台实例项目练习2-数据库链接 网页跳转 iframe框架路径问题 模板引擎 ) no ...

  9. 2003 iis php mysql_阿里云完美教程 Window2003 iis+mysql+php+zend环境配置

    在我的使用过程中只遇到几个小问题: 一.HTTP 错误 403.1 – 禁止访问:执行访问被拒绝 原因是执行权限不够,解决的方法是: 解决方法一: 打开"管理工具"的"I ...

最新文章

  1. 论文返修与校对的经验教训
  2. 量子力学 一 基础6 厄尔米特算符的相容性
  3. Matlab 进行离散时间信号序列的生成
  4. 建立集群间ssh信任关系
  5. Hadoop入门(十七)Mapreduce的多表关联程序
  6. 太吾绘卷第一世攻略_建平中学高二数学周练卷(2020.09)
  7. java 实例域_Java实例域初始化方法及顺序
  8. 2020计算机二级office高级应用,2020计算机二级ms-office高级应用试题.docx
  9. idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533...
  10. MTK modem编译
  11. php array_change_key_case()
  12. network secruity studay day2
  13. 记录一次解决后端接口设置cookie设置不上去经过,一级域名可以设置上去cookie,二级域名设置不上cookie
  14. 12306抢票工具震撼来袭
  15. WIN10家庭版局域网连接设置(含设置账号密码)
  16. oracle数据库用户状态失效Expired
  17. macOS通过单个typeC拓展坞连接多台显示器实现多屏幕拓展(多屏异显)解决typeC拓展坞只能多屏镜像
  18. Cisco 交换机的操作
  19. java jdk--同时安装两个jdk并且切换
  20. CentOS7和CentOS8 FreeSWITCH 1.10.7 简单图形化界面20--FreeSWITCH通过域名注册

热门文章

  1. PIC32单片机harmony开发环境 - i2c例程和代码分析
  2. python 双向链表_Python实现双向链表
  3. linux升级ssh到6.6版本,CentOS6.5 openssh升级到openssh-7.6版本
  4. macos可以升级到指定版本吗_iOS14如期而至!重大更新的全新版本,值得升级吗?答案在这...
  5. 【JavaWeb】石家庄地铁搭乘系统——第一版(功能尚未完善)
  6. elastic学习笔记
  7. (转)彻底学会使用epoll(一)——ET模式实现分析
  8. Chrome开发者工具详解(4)-Profiles面板
  9. initWithNibName与viewDidLoad的执行关系以及顺序
  10. jqueryui的Tooltip使用方法