nodejs個(gè)人博客開(kāi)發(fā)第四步 數(shù)據(jù)模型
本文為大家分享了nodejs個(gè)人博客開(kāi)發(fā)的數(shù)據(jù)模型,具體內(nèi)容如下
數(shù)據(jù)庫(kù)模型
/model/db.js 數(shù)據(jù)庫(kù)操作類(lèi),完成鏈接數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)的增刪查改
查詢(xún)表
/*查詢(xún)*/ select:function(tableName,callback,where,field){ field=field ? field : '*'; var sql="select "+field+" from "+this.C.DB_PRE+tableName; if(where){ sql+=" where "+where; } this.db.query(sql,callback); }
添加記錄
/*添加*/ add:function(tableName,tableData,callback){ var sql="insert into "+this.C.DB_PRE+tableName; var clumn=''; var value=''; for(var key in tableData){ clumn+=","+key; value+=",'"+tableData[key]+"'"; } clumns="("+clumn.substr(1)+")"; values="("+value.substr(1)+")"; sql=sql+clumns+"values"+values; console.log(sql); this.db.query(sql,callback); }
修改記錄
/*修改*/ update:function(tableName,tableData,where,callback){ var sql="update "+this.C.DB_PRE+tableName+" set "; var clumns=""; for(var key in tableData){ clumns+=","+key+"='"+tableData[key]+"'"; } clumns=clumns.substr(1); sql+=clumns+" where "+where; console.log(sql); this.db.query(sql,callback); }
刪除記錄
/*刪除*/ delete:function(tableName,where,callback){ var sql="delete from "+this.C.DB_PRE+tableName+" where "+where; console.log(sql); this.db.query(sql,callback); }
業(yè)務(wù)模型
例如分類(lèi)模型,/model/category.js
/** *分類(lèi)模型 * */ module.exports={ getAllList:function(){ db.select("category",function(err,list){ console.log(list); }); }, /*添加*/ addCate:function(data){ db.add("category",data,function(err,list){ console.log(err); }); }, /*修改*/ saveCate:function(data,where){ db.update("category",data,where,function(err,list){ console.log(err); }); }, /*刪除*/ delCate:function(where){ db.delete("category",where,function(err,list){ //console.log(err); }); } };
控制器
先在公共函數(shù)文件增加一個(gè)調(diào)用模型的方法
/*實(shí)例化模型*/ model:function(name){ return require("../model/"+name); }
控制器調(diào)用業(yè)務(wù)模型
/** * 首頁(yè)控制器 */ var router=express.Router(); router.get('/',function(req,res,next){ F.model("category").getAllList(); //F.model("category").addCate({"name":"測(cè)試"}); //F.model("category").saveCate({"name":"測(cè)試1"},"id=4"); //F.model("category").delCate("id=4"); /*渲染模板*/ res.render("home/index"); }); module.exports=router;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node.js爬取中關(guān)村的在線(xiàn)電瓶車(chē)信息
這篇文章主要給大家介紹了關(guān)于利用node.js如何爬取中關(guān)村的在線(xiàn)電瓶車(chē)信息的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11Node.js操作Firebird數(shù)據(jù)庫(kù)教程
這篇文章主要為大家分享了Node.js操作Firebird數(shù)據(jù)庫(kù)教程,思路清晰便于大家理解,感興趣的小伙伴們可以參考一下2016-03-03云服務(wù)器部署Node.js項(xiàng)目的方法步驟(小白系列)
這篇文章主要介紹了云服務(wù)器部署Node.js項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03node.js連接MongoDB數(shù)據(jù)庫(kù)的2種方法教程
這幾天一直在學(xué)習(xí)mongdb的基礎(chǔ)知識(shí),跟著網(wǎng)上大神的腳步(代碼)去模擬連接mongodb數(shù)據(jù)庫(kù),下面這篇文章就給大家總結(jié)介紹了node.js連接MongoDB數(shù)據(jù)庫(kù)的2種方法教程,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-05-05Nest.js系列學(xué)習(xí)之初識(shí)nest項(xiàng)目框架及服務(wù)
這篇文章主要為大家介紹了Nest.js系列學(xué)習(xí)之初識(shí)nest項(xiàng)目框架及服務(wù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Node.js利用debug模塊打印出調(diào)試日志的方法
debug日志打印模塊主要實(shí)現(xiàn)功能是帶命名空間(模塊名)、時(shí)間戳、色彩輸出日志;將日志寫(xiě)入文件;瀏覽器端使用;格式化函數(shù);支持自定義方法。下面這篇文章主要介紹了Node.js利用debug模塊打印出調(diào)試日志的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04如何利用Node.js與JSON搭建簡(jiǎn)單的動(dòng)態(tài)服務(wù)器
這篇文章主要給大家介紹了關(guān)于如何利用Node.js與JSON搭建簡(jiǎn)單的動(dòng)態(tài)服務(wù)器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Node與Python 雙向通信的實(shí)現(xiàn)代碼
最簡(jiǎn)單粗暴的通信方式是 Nodejs調(diào)用一下 Python 腳本,本文詳細(xì)介紹了Nodejs與Python 雙向通信的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07