完善获取数据库数据的写法
生活随笔
收集整理的這篇文章主要介紹了
完善获取数据库数据的写法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇:使用express搭建服務器獲取MySQL數據庫數據
一、完善獲取數據庫數據的寫法
async+await版本:
帶捕獲異常的版本:
二、封裝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") })總結
以上是生活随笔為你收集整理的完善获取数据库数据的写法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 六、Webpack详解学习笔记——web
- 下一篇: mongodb数据库导出备份