Node.js中Mongodb數(shù)據(jù)庫操作方法(最新推薦)
MongoDB
MongoDB是什么?
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫
數(shù)據(jù)庫是什么?
數(shù)據(jù)庫(DataBase)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的應(yīng)用程序(軟件)
數(shù)據(jù)庫作用?
對數(shù)據(jù)進行增、刪、改、查
數(shù)據(jù)庫特點?
- 速度更快(一些數(shù)據(jù)庫有特定的結(jié)構(gòu),可以加快訪問)
- 擴展性更強(多數(shù)據(jù)庫節(jié)點)
- 安全姓更強(加密)
為什么選Mongodb?
操作魚js類似,容易上手,學(xué)習(xí)成本低
核心概念
Mongodb中有三個重要概念:
- 速度更快(一些數(shù)據(jù)庫有特定的結(jié)構(gòu),可以加快訪問)
- 擴展性更強(多數(shù)據(jù)庫節(jié)點)
- 安全姓更強(加密)
理解三者關(guān)系
db.json
可以理解成一個數(shù)據(jù)庫,一個數(shù)據(jù)庫服務(wù)下可以創(chuàng)建N個數(shù)據(jù)庫,它們之間不會共享任何數(shù)據(jù)。- (
json
文件中的)屬性(accounts
,users
)所對應(yīng)的數(shù)組信息,就是集合,每個集合存儲著一類特定的數(shù)據(jù),如accounts
集合存儲了與賬戶相關(guān)的記錄,而 users 集合則存儲了用戶的信息。 accounts
這個集合中有很多對象,每一個對象就是一個文檔(每個文檔是一個獨立的數(shù)據(jù)單元,包含多個鍵值對,每個文檔中的鍵值對(例如 “id”: “3-YLju5f3”)是一個字段)
{ "accounts": [ { "id": "3-YLju5f3", "title": "買電腦", "time": "2023-02-08", "type": "-1", "account": "5500", "remarks": "為了上網(wǎng)課" }, { "id": "3-YLju5f4", "title": "請女朋友吃飯", "time": "2023-02-08", "type": "-1", "account": "214", "remarks": "情人節(jié)聚餐" }, { "id": "mRQiD4s3K", "title": "發(fā)工資", "time": "2023-02-19", "type": "1", "account": "4396", "remarks": "終于發(fā)工資啦!~~" } ], "users":[ { "id": 1, "name": "zhangsan", "age": 18 }, { "id": 2, "name": "lisi", "age": 20 }, { "id": 3, "name": "wangwu", "age": 22 } ] }
Mongodb服務(wù)
下載安裝
Mongodb下載地址:https://www.mongodb.com/try/download/community,有msi和壓縮包可以選,本次下載是采用壓縮包形式。
從MongoDB 6.0開始,官方推薦使用MongoDB Shell (mongosh) 作為新的命令行工具,而不是傳統(tǒng)的mongo.exe。
Mongosh下載地址:https://www.mongodb.com/try/download/shell?spm=5176.28103460.0.0.297c5d27VMftbK
Mongodb和Mongosh建議都解壓在C盤
下的Program Files
中,并且在C盤
文件中,創(chuàng)建data
文件夾,再在data
文件夾中創(chuàng)建db
文件夾作為Mongodb
的默認文件夾。
// 啟動服務(wù) mongod // or mongod --dbpath "C:\data\db // 啟動 MongoDB Shell 并連接到 MongoDB 實例 mongosh
命令行交互
數(shù)據(jù)庫命令
// 顯示所有的數(shù)據(jù)庫 show dbs // 切換指定數(shù)據(jù)庫 use 數(shù)據(jù)庫名 // 刪除數(shù)據(jù)庫 use 數(shù)據(jù)庫名 db.dropDatabase() // 創(chuàng)建集合 db.createCollection('集合名稱') // 顯示當(dāng)前數(shù)據(jù)庫的集合 show collections // 刪除某個集合 db.庫名.drop() // 重命名集合 db.庫名.renameCollection('newName')
文檔命令
// 插入文檔/ db.集合名.insert(文檔對象) // 查詢文檔 db.集合名.find(查詢條件) // 更新文檔 db.集合名.update(查詢條件, 新文檔) db.users.update({name: 'Bob'},{age: 18}) db.集合名.update({name:'Bob'},{$set:{age:19}}) // 刪除文檔 db.集合名.remove(查詢條件) // remove() 方法已經(jīng)被棄用 // 刪除第一個匹配的文檔 db.collection.deleteOne( { name: '張三' }); // 刪除所有匹配的文檔 db.collection.deleteMany( { name: '張三' });
到此這篇關(guān)于Node.js-Mongodb數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Node.js Mongodb數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Node.js操作MongoDB數(shù)據(jù)庫實例分析
- Node.js中使用mongoose操作mongodb數(shù)據(jù)庫的方法
- node.js連接MongoDB數(shù)據(jù)庫的2種方法教程
- Node.js對MongoDB數(shù)據(jù)庫實現(xiàn)模糊查詢的方法
- Node.js連接MongoDB數(shù)據(jù)庫產(chǎn)生的問題
- node.js連接mongoDB數(shù)據(jù)庫 快速搭建自己的web服務(wù)
- 了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互
- node.js操作mongoDB數(shù)據(jù)庫示例分享
相關(guān)文章
在Ubuntu系統(tǒng)上安裝Ghost博客平臺的教程
這篇文章主要介紹了在Ubuntu系統(tǒng)上安裝Ghost博客平臺的教程,Ghost博客平臺以Node.js寫成,需要的朋友可以參考下2015-06-06淺析node應(yīng)用的timing-attack安全漏洞
本篇文章給大家通過原理的原因分析了node應(yīng)用的timing-attack安全漏洞問題,有興趣的朋友閱讀參考下。2018-02-02Node.js中使用mongoskin操作mongoDB實例
這篇文章主要介紹了Node.js中使用mongoskin操作mongoDB實例,Mongous是一個輕量級的nodejs mongodb驅(qū)動,需要的朋友可以參考下2014-09-09