node學習筆記
node是一門後端語言,由一名天才少年意外發明的,可他的初衷是搭建乙個伺服器。
node採用js語法,需引入相應的模組才能實現對應的功能。其中主要分為核心模組、第三方模組和自定義模組。其中核心模組中包含url、http和querystring等,espress框架屬於第三方模組,mongoose則屬於自定義模組。
express框架可以直接建立伺服器,腳手架可以直接生成專案,這極大方便了我們的操作。
資料庫可以分為兩類,一種是關係型資料庫,比如說mysql,另一種是非關係型資料庫,比如說mongodb,mongodb 是乙個基於分布式檔案儲存的資料庫。由 c++ 語言編寫。旨在為 web 應用提供可擴充套件的高效能資料儲存解決方案。mongodb 是乙個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。mongodb中有命令列操作,一些資料庫的命令、集合的操作和文件操作。而node結合mongodb便可以實現增刪改查操作了。
mongodb 建立資料庫
use database_name
如果資料庫不存在,則建立資料庫,否則切換到指定資料庫。
use runoob
switched to db runoob
dbrunoob
檢視所有資料庫,可以使用 show dbs 命令:
但要顯示它,需要向 runoob 資料庫插入資料。
db.runoob.insert()
writeresult()
show dbs
runoob 0.000gb
mongodb 中預設的資料庫為 test,如果你沒有建立新的資料庫,集合將存放在 test 資料庫中。
注意: 在 mongodb 中,集合只有在內容插入後才會建立! 就是說,建立集合(資料表)後要再插入乙個文件(記錄),集合才會真正建立。
集合操作:
db.createcollection(name, options)
name: 要建立的集合名稱
options: 可選引數, 指定有關記憶體大小及索引的選項
文件(資料)操作
增: db.collection.insertone():向指定集合中插入一條文件資料
db.collection.insertmany():向指定集合中插入多條文件資料
刪db.collection.deleteone():向指定集合中插入一條文件資料
db.collection.deletemany():向指定集合中插入多條文件資料 改
db.col.updateone(, }):向指定集合中插入一條文件資料
db.col.updatemany(, }):向指定集合中插入多條文件資料
db.col.updateone(, }) 修改某一條資料的某乙個欄位key的自增num 查
db.users.find({},{}).pretty() :查詢所有的資料,顯示所有的字段
條件查詢:db.users.find({},).pretty() 不顯示_id欄位
db.users.find({},).pretty() // 不顯示_id欄位,只顯示username欄位'
或查詢:db.users.find( , ]
} ,
) . pretty ()
區間查詢:db.users.find( }, ).pretty()
模糊查詢:db.users.find(, ]}, ).pretty()
排序:db.users.find({}, ).sort().pretty()
1表示按照key值公升序,為-1表示降序
查詢資料並且計數:db.users.find( }, ).count()
node與mongoose結合步驟:
1、開啟終端
2、開啟資料庫的連線池
3、在node中安裝mongoose
4、引入mongoose模組
const mongoose = require(『mongoose』);
5、通過mongodb協議位址登入伺服器並檢視狀態
const db_url = 『mongodb:
mongoose.connect(db_url, );
mongoose.connection.on(『connected』, () => )
mongoose.connection.on(『disconnected』, () => )
6、 自定義模組(db.js)並暴露
mongoose.connection.on(『error』, () => ) module.exports = mongoose
再建立乙個user.js通過引入db.js來實現建立集合,設計資料表。
那麼其他的文件操作如增刪改查就可以通過引入user.js來進行了。
為了以後的使用,這裡的mongodb其實是可以進行封裝的;
module.exports = ) },
delete: (col, type, deletedata) => ) },
update:
function (col, type, whereobj, updateobj) )},
find (col, whereobj, showobj) ) },
sort (col, whereobj, showobj, sortobj) )}
}
node是如何搭建乙個後台管理系統的呢?(大體步驟與思路)
其過程可以用admin-lte模板與express的結合來實現。
1、複製admin-lte中的所需的頁面和靜態檔案(css),其中路徑加/表示絕對路徑。
2、分割頁面使用ejs的include語法匯入相應模組。
3、修改menu選單、確定條目。
4、建立相關路由檔案(index.js、user.js、product.js)
完成以上步驟便可以在瀏覽器中輸入/user/product檢視效果了。
當然後台管理系統的登入功能可以通過快取cookie、session、token配合頁面login.ejs、相關路由和狀態來實現。
Node相關知識記錄
node以往版本檢視 gnvm version gnvm的版本 node v 當前使用的node的版本 gnvm install latest 安裝最新版本的 node gnvm install 10.0 0 安裝指定版本 gnvm install 10.0 0 x64 指定安裝32位或64位 gn...
串列埠及其相關知識
本文介紹了串列埠通訊的基本概念 資料格式 通訊方式 典型的串列埠通訊標準等內容。串列埠通訊,rs232,rs485,停止位,奇校驗,偶校驗 1 串列埠通訊 串列埠通訊 serial communication 是指外設和計算機間,通過資料訊號線 地線等,按位進行傳輸資料的一種通訊方式。串列埠是一種介...
node學習中HTTP知識的補充
現在很多同學在面試的前端的過程中肯定遇到很多面試官問http方面的問題,在我接觸的很多前端朋友在這方面都比較偏弱,在學習nodejs過程中難免要接觸這些東西。總體上分三大部 1 http客戶端傳送請求,建立埠。2 http伺服器在埠監聽客戶端請求 3 http伺服器向客戶端返回狀態碼和內容 我記得我...