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();