MongoDB 是最受歡迎的 NoSQL 資料庫之一,被開發人員廣泛用於建立可擴展且靈活的應用程式。與廣泛採用的後端開發平台 Node.js 結合使用,您可以建立高效的 API 和強大的應用程式。在這篇文章中,我們將探討如何使用 Node.js 配置 MongoDB,從安裝到執行基本的 CRUD(建立、讀取、更新、刪除)操作。
MongoDB 是一個以文件為導向的 NoSQL 資料庫。 MongoDB 不像關聯式資料庫那樣將資料儲存在表中,而是以 JSON 格式儲存文檔,稱為 BSON(二進位 JSON)。這提供了資料建模的靈活性並促進水平可擴展性。
首先,您需要安裝 MongoDB。根據您的作業系統,請按照官方 MongoDB 安裝網站上的說明進行操作。
為您的專案建立一個新目錄並啟動 Node.js 專案:
mkdir mongo-node-app cd mongo-node-app npm init -y
下一步是安裝 Node.js 的官方 MongoDB 驅動程式:
npm install mongodb
現在,建立一個 index.js 檔案來設定與 MongoDB 的連線。我們將使用 MongoClient 連接到資料庫。
const { MongoClient } = require('mongodb'); async function connectDB() { const uri = "mongodb://localhost:27017"; // URL do MongoDB local const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); try { await client.connect(); console.log("Conectado ao MongoDB"); const db = client.db("mydatabase"); return db; } catch (err) { console.error("Erro ao conectar ao MongoDB", err); } finally { // Fechar a conexão await client.close(); } } connectDB();
要將文件加入集合中,我們可以使用 insertOne() 或 insertMany() 方法。
async function createDocument(db) { const collection = db.collection("users"); const newUser = { name: "Lucas", age: 25, email: "lucas@example.com" }; const result = await collection.insertOne(newUser); console.log(`Documento inserido com o ID: ${result.insertedId}`); }
要在集合中搜尋文檔,我們使用 find() 或 findOne()。
async function readDocuments(db) { const collection = db.collection("users"); const users = await collection.find({ age: { $gte: 18 } }).toArray(); console.log(users); }
要更新文檔,我們使用 updateOne() 或 updateMany()。
async function updateDocument(db) { const collection = db.collection("users"); const result = await collection.updateOne( { name: "Lucas" }, { $set: { email: "lucas.new@example.com" } } ); console.log(`Documentos atualizados: ${result.modifiedCount}`); }
要刪除文檔,我們使用deleteOne() 或deleteMany()。
async function deleteDocument(db) { const collection = db.collection("users"); const result = await collection.deleteOne({ name: "Lucas" }); console.log(`Documentos deletados: ${result.deletedCount}`); }
對於大型項目,最好將MongoDB連接和CRUD操作模組化。例如,我們可以為每個實體擁有單獨的連線模組和專用服務。
// db.js const { MongoClient } = require('mongodb'); const uri = "mongodb://localhost:27017"; const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); async function connectDB() { await client.connect(); const db = client.db("mydatabase"); return db; } module.exports = { connectDB };
// index.js const { connectDB } = require('./db'); async function main() { const db = await connectDB(); // Executar operações de CRUD await createDocument(db); await readDocuments(db); await updateDocument(db); await deleteDocument(db); } main();
MongoDB 和 Node.js 形成了強大的組合,用於建立可擴展的 API 和現代 Web 應用程式。透過 MongoDB 的靈活性和 Node.js 的 JavaScript 環境,您可以快速且有效率地操作資料。本指南為將 MongoDB 整合到 Node.js 專案(從初始配置到 CRUD 操作)提供了堅實的基礎。
如果您想更深入地了解該主題,請考慮探索 MongoDB 中的更多功能,例如索引、聚合和複製。
最後提示:
我希望本指南對 MongoDB 與 Node.js 的整合有所幫助!
以上是MongoDB 與 Node.js 整合 – 完整指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!