Node.js中Mongodb數(shù)據(jù)庫操作方法(最新推薦)
MongoDB
MongoDB是什么?
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫
數(shù)據(jù)庫是什么?
數(shù)據(jù)庫(DataBase)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的應(yīng)用程序(軟件)
數(shù)據(jù)庫作用?
對(duì)數(shù)據(jù)進(jìn)行增、刪、改、查
數(shù)據(jù)庫特點(diǎn)?
- 速度更快(一些數(shù)據(jù)庫有特定的結(jié)構(gòu),可以加快訪問)
- 擴(kuò)展性更強(qiáng)(多數(shù)據(jù)庫節(jié)點(diǎn))
- 安全姓更強(qiáng)(加密)
為什么選Mongodb?
操作魚js類似,容易上手,學(xué)習(xí)成本低
核心概念
Mongodb中有三個(gè)重要概念:
- 速度更快(一些數(shù)據(jù)庫有特定的結(jié)構(gòu),可以加快訪問)
- 擴(kuò)展性更強(qiáng)(多數(shù)據(jù)庫節(jié)點(diǎn))
- 安全姓更強(qiáng)(加密)
理解三者關(guān)系
db.json
可以理解成一個(gè)數(shù)據(jù)庫,一個(gè)數(shù)據(jù)庫服務(wù)下可以創(chuàng)建N個(gè)數(shù)據(jù)庫,它們之間不會(huì)共享任何數(shù)據(jù)。- (
json
文件中的)屬性(accounts
,users
)所對(duì)應(yīng)的數(shù)組信息,就是集合,每個(gè)集合存儲(chǔ)著一類特定的數(shù)據(jù),如accounts
集合存儲(chǔ)了與賬戶相關(guān)的記錄,而 users 集合則存儲(chǔ)了用戶的信息。 accounts
這個(gè)集合中有很多對(duì)象,每一個(gè)對(duì)象就是一個(gè)文檔(每個(gè)文檔是一個(gè)獨(dú)立的數(shù)據(jù)單元,包含多個(gè)鍵值對(duì),每個(gè)文檔中的鍵值對(duì)(例如 “id”: “3-YLju5f3”)是一個(gè)字段)
{ "accounts": [ { "id": "3-YLju5f3", "title": "買電腦", "time": "2023-02-08", "type": "-1", "account": "5500", "remarks": "為了上網(wǎng)課" }, { "id": "3-YLju5f4", "title": "請(qǐng)女朋友吃飯", "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
的默認(rèn)文件夾。
// 啟動(dòng)服務(wù) mongod // or mongod --dbpath "C:\data\db // 啟動(dòng) MongoDB Shell 并連接到 MongoDB 實(shí)例 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 // 刪除某個(gè)集合 db.庫名.drop() // 重命名集合 db.庫名.renameCollection('newName')
文檔命令
// 插入文檔/ db.集合名.insert(文檔對(duì)象) // 查詢文檔 db.集合名.find(查詢條件) // 更新文檔 db.集合名.update(查詢條件, 新文檔) db.users.update({name: 'Bob'},{age: 18}) db.集合名.update({name:'Bob'},{$set:{age:19}}) // 刪除文檔 db.集合名.remove(查詢條件) // remove() 方法已經(jīng)被棄用 // 刪除第一個(gè)匹配的文檔 db.collection.deleteOne( { name: '張三' }); // 刪除所有匹配的文檔 db.collection.deleteMany( { name: '張三' });
到此這篇關(guān)于Node.js-Mongodb數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Node.js Mongodb數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Node.js操作MongoDB數(shù)據(jù)庫實(shí)例分析
- Node.js中使用mongoose操作mongodb數(shù)據(jù)庫的方法
- node.js連接MongoDB數(shù)據(jù)庫的2種方法教程
- Node.js對(duì)MongoDB數(shù)據(jù)庫實(shí)現(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博客平臺(tái)的教程
這篇文章主要介紹了在Ubuntu系統(tǒng)上安裝Ghost博客平臺(tái)的教程,Ghost博客平臺(tái)以Node.js寫成,需要的朋友可以參考下2015-06-06淺析node應(yīng)用的timing-attack安全漏洞
本篇文章給大家通過原理的原因分析了node應(yīng)用的timing-attack安全漏洞問題,有興趣的朋友閱讀參考下。2018-02-02利用pm2部署多個(gè)node.js項(xiàng)目的配置教程
目前似乎最常見的線上部署nodejs項(xiàng)目的有forever,pm2這兩種,而下面這篇文章主要給大家介紹了關(guān)于利用pm2部署多個(gè)node.js項(xiàng)目的配置教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10Node.js中使用mongoskin操作mongoDB實(shí)例
這篇文章主要介紹了Node.js中使用mongoskin操作mongoDB實(shí)例,Mongous是一個(gè)輕量級(jí)的nodejs mongodb驅(qū)動(dòng),需要的朋友可以參考下2014-09-09