node及其相關知識的學習小小結

2021-09-26 07:14:39 字數 3043 閱讀 9451

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伺服器向客戶端返回狀態碼和內容 我記得我...