Node.js - MongoDB 開始使用
您好,未來的數據庫魔法師們!今天,我們將踏上一段令人興奮的旅程,進入 Node.js 和 MongoDB 的世界。作為你們友好的鄰居計算機老師,我將在這次冒險中指導你們,一步步前行。不用擔心你們對編程陌生——我們將從最基本的知識開始學習,然後逐步提升。所以,戴上你們的虛擬安全帽,我們一起來潛入水中吧!
MongoDB 是什麼?
在我們開始編程之前,讓我們先來了解 MongoDB 是什麼。想像你正在整理你的漫畫書收藏。你可能會有不同的盒子來分裝 Marvel、DC 和獨立漫畫。MongoDB 就像是一個巨大的數字化漫畫書整理器,用於你的數據。它是一個 NoSQL 數據庫,這意味著它靈活並能夠處理各種數據,而不需要嚴格的結構。
安裝
步驟 1:安裝 Node.js
首先,我們需要安裝 Node.js。這就像在開始一個項目之前設置你的工作台。
- 訪問 Node.js 官方網站(https://nodejs.org/)。
- 下載適合你操作系統的版本。
- follow 安裝向導。
為了檢查 Node.js 是否正確安裝,打開你的終端或命令提示符並輸入:
node --version
如果你看到了版本號,那麼你就準備好了!
步驟 2:安裝 MongoDB
現在,讓我們來安裝 MongoDB——我們的數字化漫畫書整理器。
- 訪問 MongoDB 下載頁面(https://www.mongodb.com/try/download/community)。
- 選擇你的操作系統並下載安裝程序。
- 運行安裝程序並 follow 提示。
安裝完畢後,你可能需要將 MongoDB 添加到系統的 PATH。別擔心,這並不複雜。這就像告訴你的計算機在你想使用它時去哪裡找到 MongoDB。
MongoDB 驅動程序
現在我們有了工具,我們需要一種方法讓 Node.js 與 MongoDB 進行通信。這就是 MongoDB 驅動程序的作用。把它當成是 Node.js 和 MongoDB 之間的翻譯。
安裝 MongoDB 驅動程序
打開終端,導航到你們的項目文件夹,並運行:
npm init -y
npm install mongodb
第一個命令設置你的項目,第二個命令安裝 MongoDB 驅動程序。這就像打開你的工具箱,確保你有所有的正確工具。
連接到 MongoDB
好了,現在來到令人興奮的部分——連接到我們的數據庫!讓我們寫一些代碼來實現這一點。
在你們的項目文件夹中創建一個名為 app.js
的新文件並添加以下代碼:
const { MongoClient } = require('mongodb');
// 連接 URL
const url = 'mongodb://localhost:27017';
// 數據庫名稱
const dbName = 'myProject';
// 創建新的 MongoClient
const client = new MongoClient(url);
// 使用 connect 方法來連接到服務器
async function connect() {
try {
await client.connect();
console.log("成功連接到服務器");
const db = client.db(dbName);
// 在這裡執行數據庫操作
} catch (err) {
console.error("連接數據庫時出錯", err);
} finally {
await client.close();
}
}
connect();
讓我們分解一下:
- 我們從 MongoDB 驅動程序中導入
MongoClient
。 - 我們指定 MongoDB 服務器運行的 URL。
localhost:27017
是本地安裝的默認值。 - 我們給我們的數據庫命名為
myProject
。 - 我們使用 URL 創建一個新的
MongoClient
。 - 我們定義一個名為
connect()
的async
函數。async
函數就像耐心的朋友,等待任務完成後再繼續前進。 - 在
connect()
函數內部,我們使用try/catch/finally
來優雅地處理潛在的錯誤。 - 我們使用
await client.connect()
來連接到服務器。await
遵詞就像說,“等一下,讓我們等待這個完成再繼續”。 - 如果連接成功,我們記錄一條消息並獲取對我們數據庫的引用。
- 最後,我們在
finally
�塊中關閉連接。
運行這段代碼,保存文件並在終端中輸入 node app.js
。如果一切設置正確,你應該會在控制台看到“成功連接到服務器”的打印信息。
恭喜你們!你們剛剛使用 Node.js 連接到 MongoDB。這就像打你的第一次電話——興奮吧?
執行數據庫操作
現在我們已經連接成功了,讓我們做點什麼吧。我們將添加一個簡單的操作,將一個文檔插入到集合中。
更新你的 app.js
文件:
// ... (之前的代碼保持不變)
async function connect() {
try {
await client.connect();
console.log("成功連接到服務器");
const db = client.db(dbName);
const collection = db.collection('superheroes');
// 插入一個文檔
const result = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['web-slinging', 'spider-sense', 'superhuman strength']
});
console.log(`插入文檔的 _id: ${result.insertedId}`);
} catch (err) {
console.error("執行數據庫操作時出錯", err);
} finally {
await client.close();
}
}
connect();
這裡有什麼新穎的:
- 我們創建了一個指向名為 'superheroes' 的集合的引用。
- 我們使用
insertOne()
方法將一個新文檔添加到我們的集合中。 - 我們記錄插入的文檔的
_id
。
再次運行腚本,使用 node app.js
。你應該看到一條消息,確認文檔已被插入,以及它的 _id
。
查詢數據
讓我們添加另一個操作來查詢我們剛才插入的文檔:
// ... (之前的代碼保持不變)
async function connect() {
try {
await client.connect();
console.log("成功連接到服務器");
const db = client.db(dbName);
const collection = db.collection('superheroes');
// 插入一個文檔
const insertResult = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['web-slinging', 'spider-sense', 'superhuman strength']
});
console.log(`插入文檔的 _id: ${insertResult.insertedId}`);
// 查找我們剛才插入的文檔
const findResult = await collection.findOne({ name: 'Spider-Man' });
console.log("找到的文檔:", findResult);
} catch (err) {
console.error("執行數據庫操作時出錯", err);
} finally {
await client.close();
}
}
connect();
現在我們使用 findOne()
方法來查找我們剛才插入的文檔。這就像問我們的數據庫,“嘿,你能為我找到 Spider-Man 嗎?”
最後一次運行腚本。你應該在控制台看到插入消息和找到的文檔。
結論
恭喜你們!你們剛剛踏入了 Node.js 和 MongoDB 的世界。我們已經介紹了安裝、連接和基本操作。記住,學習與數據庫工作是學習一種新的超能力——它需要練習,但很快你將會像專家一樣操作數據!
這裡是我們使用的方法的快速回顧:
方法 | 描述 |
---|---|
MongoClient.connect() |
連接到 MongoDB 服務器 |
client.db() |
獲取數據庫的引用 |
db.collection() |
獲取集合的引用 |
collection.insertOne() |
將單個文檔插入到集合中 |
collection.findOne() |
在集合中查找單個文檔 |
繼續練習,保持好奇心,很快你將會使用 Node.js 和 MongoDB 建立令人驚艷的應用程序。祝編程愉快,未來的數據庫超級英雄!
Credits: Image by storyset