Skip to main content

Environment

安裝Mongodb

  • 到mongodb下載Community Edition
  • 電腦右鍵看內容,到進階系統設定,將C:\Program Files\MongoDB\Server\8.0\bin 加入系統環境變數Path
  • 新增一個資料夾C:/data/db,這是mongodb放置資料庫的地方

安裝Mongodb Compass

  • 到MongoDB Compass下載並安裝
  • Compass是mongodb的使用者介面GUI

安裝mongoose模組

npm install mongoose

用mongoose模組連接mongodb

//方法一
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydatabase')
.then(() => console.log('MongoDB connected'))
.catch(err => console.error(err));

//方法二
const mongoose = require('mongoose');
const conn = await mongoose.connect('mongodb://localhost:27017/mydatabase');
console.log('mongodb connected: ' + conn.connection.host);

建立db.js

  • 在.env裡面新增MONGOURI=mongodb://localhost:27017/mydatabase
  • 這樣連線資訊就不會暴露在外
  • 在/src/routes裡面建立一個檔案db.js用於連線到mongodb資料庫
const mongoose = require('mongoose');
const connectDB = async () =>{
const conn = await mongoose.connect(process.env.MONGOURI);
console.log('mongodb connected: ' + conn.connection.host);
}
module.exports = connectDB;

//然後在app.js裡面就可以使用connectDB
const connectDB = require('./src/routes/db');
connectDB();

文件架構Schema

const blogSchema = new mongoose.Schema({
name: { type: String, required: true },
description: { type: String, required: true }
});

模型Model

const Blog = mongoose.model('Blogs', blogSchema);

Create

//Create an Object
const createCourse = async () =>{
const course = new Course({
name:"The React Course",
author:"Peter",
tags:["react","frontend"],
isPublished:true
});
const result = await course.save();
console.log(result);
}
createCourse();