完善获取数据库数据的写法
上一篇:使用express搭建服务器获取MySQL数据库数据
一、完善获取数据库数据的写法
async+await版本:
const express = require('express')
const db = require('./db/nodejs-orm/index.js')const app = express()app.get("/get_data", (req, res) => {// 查询数据库,返回到浏览器// 创建模型,需要操作哪个数据表(async function get_data() {let Stuinfo = db.model("stuinfo")let result = await new Promise((resolve, reject)=> {Stuinfo.find((err, data) => {if(err){reject(err)}resolve(data)})})res.send(result) })()
})app.listen(3000, () => {console.log("服务器已经启动,端口为:3000")
})
带捕获异常的版本:
const express = require('express')
const db = require('./db/nodejs-orm/index.js')const app = express()app.get("/get_data", (req, res) => {// 查询数据库,返回到浏览器// 创建模型,需要操作哪个数据表(async function get_data() {let Stuinfo = db.model("stuinfo")let resulttry {result = await new Promise((resolve, reject)=> {Stuinfo.find((err, data) => {if(err){reject(err)}resolve(data)})})} catch (error) {console.log(error)res.send({errMsg:"数据库查询出错"})return;} res.send(result) })()
})app.listen(3000, () => {console.log("服务器已经启动,端口为:3000")
})
二、封装handleDB
handle.js:
const db = require('./nodejs-orm/index.js')// res:请求对象
// tableName:需要进行查询操作的表名
// methodName:进行哪种操作(增删改查)
// errMsg:如果数据库操作出错,自定义返回什么样的错误信息
// n1:字符串或字典或列表
// n2:字符串或字典或列表
async function handleDB(res, tableName, methodName, errMsg, n1, n2) {// console.log('handleDB方法执行')let Model = db.model(tableName)let resulttry {result = await new Promise((resolve, reject) => {// Model.find("",(err, data) => {// Model["find"]("",(err, data) => {if(!n1) {// 没有传递n1,即一个参数都没有传Model[methodName]((err, data) => {if (err) {reject(err)}resolve(data)})return;}// 程序能够执行到这里,说明传递了n1参数if(!n2) {// 只传递了n1参数,没有传递n2参数Model[methodName](n1,(err, data) => {if (err) {reject(err)}resolve(data)})return;}// 程序能够执行到这里,说明传递了n1,n2参数Model[methodName](n1,n2,(err, data) => {if (err) {reject(err)}resolve(data)})})} catch (error) {console.log(error)res.send({ errMsg: errMsg})return;}return result
}module.exports = handleDB
在项目中使用:
const express = require('express')
const handleDB = require('./db/handleDB.js')const app = express()app.get("/get_data", (req, res) => {// 查询数据库,返回到浏览器// 需要操作哪个数据表// 什么操作: 增删改查这些方法名(async function get_data() {let result = await handleDB(res, "stuinfo", "update", "数据修改错误", "age= 22",{sex: '未知'})res.send(result) })()
})app.listen(3000, () => {console.log("服务器已经启动,端口为:3000")
})
完善获取数据库数据的写法相关推荐
- 【中级】 微信小程序 - 腾讯云 - wafer2 - PHP - 实战 - 后台 - 数据库的访问 - 01 - 通过wx.request或者qcloud.request来获取数据库数据
前言 本例子,通过wx.request来获取数据库数据. 1 构建测试数据库 构建如下数据库,数据库名称user01.数据库表db_user.数据库里面输入了几个数据,然后,我们通过 wx.reque ...
- 微信小程序——从后台获取数据库数据并在前台显示(前端+后端+数据库)
因为人工测试的时候需要统计数据都在纸上,统计起来很麻烦.所以我想做个小程序来辅助我测试,但我之前没学过小程序,所以就一点一点搞吧.今天这篇主要讲从后台获取数据库数据并在前台显示(类似背单词小程序的点击 ...
- 解决微信小程序云开发模式无法获取数据库数据问题
解决微信小程序云开发模式无法获取数据库数据问题 问题: 在数据库有两条数据,获取数据时输出窗口没有任何反应 错误原因: 检查数据库名字是否对应 检查你是否有多个云开发环境 如果有多个云开发环境,就需要 ...
- vue读取mysql数据_vue.js获取数据库数据实例代码
vue.js动态获取数据库数据 (通过vue.cli和webpack搭建的环境) 1.首先我先在创建一个静态的data.json文件,在static下创建json文件夹,(webpack环境下,静态的 ...
- vue.js获取数据库数据
vue.js动态获取数据库数据 (通过vue.cli和webpack搭建的环境) 1.首先我先在创建一个静态的data.json文件,在static下创建json文件夹,(webpack环境下,静态的 ...
- SQL server获取数据库数据
SQL server获取数据库数据 两表对比,查询A表中缺少的字段 例如 获取数据库指定表中的列 例如 获取某个存储过程的参数 两表对比,查询A表中缺少的字段 select a.name as nam ...
- C#后台获取数据库数据--ADO.NET
关于获取数据库中的数据到后台,可分为4个步骤:1.获取连接数据库的字符串:2.创建SqlConnection对象用于打开数据库:3.创建SqlCommand对象用于执行操作,设置它的一系列属性即可:4 ...
- typescript获取数据库数据_肿瘤药敏多组学数据库(GDSC)的数据介绍和获取
在第一期的GDSC数据总览中,我们根据数据库的模块进行总体的介绍.今天我们再深入了解GDSC所包含的数据及其获取的方法,也就是GDSC的数据下载模块. GDSC数据下载的模块,分为4个模块,分别是AN ...
- 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...
最新文章
- 硬盘温度70度正常吗_打破传统固态硬盘的速度壁垒!XPG S50 PCIE 4.0评测
- 流水调度问题c语言,基于遗传算法的流水车间调度问题汇总.doc
- SSM框架前台传中文到后台乱码问题的解决办法
- Apache工作模式详解
- oracle count over partition by,over (Partition by...) of oracle
- SQL Server插入geography、geometry和c_hierarchyid类型数据
- RedHat Linux下获取snmp信息不全的解决办法
- node.js超过php,在nodejs中如何解决超出最大的调用栈错误
- 电脑重装系统Win11时间同步失败怎么办
- SqlServer中Group By高级使用--Inner Join分组统计
- 【AtCoder】ARC065
- Ruckus 7372 Multimedia Hotzone Wireless AP 配置
- Gravity:环形二维码扫描识别传感器详细介绍和工作原理
- Beaglebone Black - 控制 BBB 板上的 LED 灯
- 了解ZigBee以及硬件环境
- 【解决方案】“博物馆热”背后,如何建设安防视频监控体系保障文物安全?
- hiveSQL的小数取整
- 金蝶java笔试_金蝶面试题
- 基于stm32的两轮自平衡小车1(模块选型篇)
- 远程桌面控制公司内网电脑修改PPT