要使用 Node.js 連接 MongoDB,通常使用 Mongoose 這個物件文件模型(ODM)函式庫。下面就來簡單介紹一下使用 Mongoose 連接 MongoDB 的方法。
Mongoose 是一個 Node.js 套件,提供了一個使用 mongo 資料庫的介面。在應用程式中使用它是非常輕量級的 npm 套件。 Mongoose 擁有所有方法集,可以連接和存取儲存在 Mongo 資料庫中的資料。
react-giant:一個react next.js mongodb的學習專案。
這是Node.js 專案開發必須的步驟之一,使用npm 指令安裝,在終端機輸入下列指令即可安裝:
npm install mongoose --save
通常在使用資料庫的時候,都需要先建立連接,透過以下方式建立連接:
const mongoose = require("mongoose"); const connectDb = async () => { await mongoose.connect("mongodb://localhost:27017/admin"); }; connectDb();
在上面的程式碼中,mongoose.connect()
函數用於建立到MongoDB的連線。第一個參數指定了MongoDB的連線URL,格式為mongodb://f7e6dec31ab1a0471d06c55afaca8d77:298c9bd6ad6e8c821dc63aa0473d6209/6a1c441b3cb87988672d89ab255c6360?a436f88d8f7c0913a3ddc875cb14d4fa
,其中< ;host>
指定MongoDB所在的主機名稱或IP位址,298c9bd6ad6e8c821dc63aa0473d6209
指定MongoDB的連接埠號,6a1c441b3cb87988672d89ab255c6360
指定要連接的資料庫的名稱,a436f88d8f7c0913a3ddc875cb14d4fa
是一些配置項,以參數的方式傳遞,如?useNewUrlParser=true&useUnifiedTopology=true
。對於需要使用者名稱和密碼連線的資料庫,則f7e6dec31ab1a0471d06c55afaca8d77
參數方式為 username:password@127.0.0.1:27017
。 【相關教學推薦:nodejs影片教學、程式設計教學】
#要注意的是,mongoose 不同版本連結方式上有點區別,上述程式碼是在版本
7.0.2
可以正常使用。
在使用 Mongoose 時,通常需要先定義一個模型和對應的模式。模型是指 MongoDB 中的一個集合,而模式則指定了集合中每個文件的結構和欄位。以下是一個簡單的模式定義範例:
const mongoose = require("mongoose"); const userSchema = new mongoose.Schema({ username: { type: String, required: true, }, email: { type: String, required: true, unique: true, maxlength: [255, "Email length must be at most 255"], }, ip: { type: String, required: true, }, }); const User = mongoose.model("User", userSchema);
#在定義了模型和模式之後,就可以使用模型進行CRUD(建立、讀取、更新、刪除)操作。以下是一些常用的範例程式碼:
const mongoose = require("mongoose"); // 创建记录 async function createUsers() { const result = await User.create({ username: "Quintion", email: "quintiontang@gmail.com", ip: "127.0.0.1", }); return result; } // 查询文档列表 async function getUsers() { const users = await User.find(); return users; } // 查询单个 async function getUser() { const user = await User.find({ username: "Quintion", }); return user; } // 删除记录 async function deleteUser() { return await User.remove({ username: "Quintion", }); }
上述程式碼只是一個簡單的範例,如果需要一個完整的可運行的程式碼,可以查看下面的專案:
react- giant:一個react next.js mongodb的學習專案。
更多node相關知識,請造訪:nodejs 教學!
以上是手把教你用Node連接mongodb的詳細內容。更多資訊請關注PHP中文網其他相關文章!