首頁  >  文章  >  web前端  >  手把教你用Node連接mongodb

手把教你用Node連接mongodb

青灯夜游
青灯夜游轉載
2023-04-04 19:36:501968瀏覽

手把教你用Node連接mongodb

要使用 Node.js 連接 MongoDB,通常使用 Mongoose 這個物件文件模型(ODM)函式庫。下面就來簡單介紹一下使用 Mongoose 連接 MongoDB 的方法。

Mongoose 是一個 Node.js 套件,提供了一個使用 mongo 資料庫的介面。在應用程式中使用它是非常輕量級的 npm 套件。 Mongoose 擁有所有方法集,可以連接和存取儲存在 Mongo 資料庫中的資料。

react-giant:一個react next.js mongodb的學習專案。

安裝Mongoose函式庫

這是Node.js 專案開發必須的步驟之一,使用npm 指令安裝,在終端機輸入下列指令即可安裝:

npm install mongoose --save

連接MongoDB

通常在使用資料庫的時候,都需要先建立連接,透過以下方式建立連接:

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,其中&lt ;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操作

#在定義了模型和模式之後,就可以使用模型進行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中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除