首頁 > web前端 > js教程 > 主體

手把教你用Node連接mongodb

青灯夜游
發布: 2023-04-04 19:46:34
轉載
1967 人瀏覽過

手把教你用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://<host>:<port>/<database-name>?<options>,其中&lt ;host> 指定MongoDB所在的主機名稱或IP位址,<port>指定MongoDB的連接埠號,<database-name> 指定要連接的資料庫的名稱,<options>是一些配置項,以參數的方式傳遞,如?useNewUrlParser=true&useUnifiedTopology=true。對於需要使用者名稱和密碼連線的資料庫,則<host>參數方式為 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!