Node.js中Mongodb數(shù)據(jù)庫(kù)操作方法(最新推薦)
MongoDB
MongoDB是什么?
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是什么?
數(shù)據(jù)庫(kù)(DataBase)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的應(yīng)用程序(軟件)
數(shù)據(jù)庫(kù)作用?
對(duì)數(shù)據(jù)進(jìn)行增、刪、改、查
數(shù)據(jù)庫(kù)特點(diǎn)?
- 速度更快(一些數(shù)據(jù)庫(kù)有特定的結(jié)構(gòu),可以加快訪問)
- 擴(kuò)展性更強(qiáng)(多數(shù)據(jù)庫(kù)節(jié)點(diǎn))
- 安全姓更強(qiáng)(加密)
為什么選Mongodb?
操作魚js類似,容易上手,學(xué)習(xí)成本低
核心概念
Mongodb中有三個(gè)重要概念:
- 速度更快(一些數(shù)據(jù)庫(kù)有特定的結(jié)構(gòu),可以加快訪問)
- 擴(kuò)展性更強(qiáng)(多數(shù)據(jù)庫(kù)節(jié)點(diǎn))
- 安全姓更強(qiáng)(加密)
理解三者關(guān)系
db.json可以理解成一個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)庫(kù)服務(wù)下可以創(chuàng)建N個(gè)數(shù)據(jù)庫(kù),它們之間不會(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ù)庫(kù)命令
// 顯示所有的數(shù)據(jù)庫(kù)
show dbs
// 切換指定數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名
// 刪除數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名
db.dropDatabase()
// 創(chuàng)建集合
db.createCollection('集合名稱')
// 顯示當(dāng)前數(shù)據(jù)庫(kù)的集合
show collections
// 刪除某個(gè)集合
db.庫(kù)名.drop()
// 重命名集合
db.庫(kù)名.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ù)庫(kù)的文章就介紹到這了,更多相關(guān)Node.js Mongodb數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Node.js操作MongoDB數(shù)據(jù)庫(kù)實(shí)例分析
- Node.js中使用mongoose操作mongodb數(shù)據(jù)庫(kù)的方法
- node.js連接MongoDB數(shù)據(jù)庫(kù)的2種方法教程
- Node.js對(duì)MongoDB數(shù)據(jù)庫(kù)實(shí)現(xiàn)模糊查詢的方法
- Node.js連接MongoDB數(shù)據(jù)庫(kù)產(chǎn)生的問題
- node.js連接mongoDB數(shù)據(jù)庫(kù) 快速搭建自己的web服務(wù)
- 了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫(kù)交互
- node.js操作mongoDB數(shù)據(jù)庫(kù)示例分享
相關(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-10
Node.js中使用mongoskin操作mongoDB實(shí)例
這篇文章主要介紹了Node.js中使用mongoskin操作mongoDB實(shí)例,Mongous是一個(gè)輕量級(jí)的nodejs mongodb驅(qū)動(dòng),需要的朋友可以參考下2014-09-09

