Node.js API + MongoDB CRUD การดำเนินการ | ตอนที่ 02

Jan 08 2023
นี่คือส่วนที่ 02 ของซีรีส์ Node.js API + MongoDB CRUD Operations

นี่คือส่วนที่ 02ของซีรีส์ Node.js API + MongoDB CRUD Operations หากคุณไม่ได้อ่านตอนที่ 01 แสดงว่าคุณมาช้าที่ลิงก์นี้ และใช้เวลาอ่านเพียง 4 นาที [ เชื่อมโยงไปยังตอนที่ 01 ].

ตอนนี้คุณได้เริ่มต้นโครงการโหนดแล้ว จากนั้นรันบนเทอร์มินัลรวมโดยใช้npm start. ตอนนี้ ถึงเวลานำเข้าและกำหนดค่าอื่นๆ เพื่อเชื่อมต่อฐานข้อมูลกับแอปพลิเคชันของเรา

ดังนั้นเราจึงต้องนำเข้าแพ็คเกจ body-parser ลงในindex.jsไฟล์ (เซิร์ฟเวอร์) แพ็คเกจนี้ใช้เพื่อแปลงเนื้อหาคำขอเป็นรูปแบบที่กำหนดจากนั้นจะอยู่ในมิดเดิลแวร์ เราสามารถกำหนดค่ามิดเดิลแวร์โดยใช้use()เมธอด จากนั้นไม่ว่าคำขอจะมาถึงแอปพลิเคชันใด ร่างกายก็จะถูกแปลงเป็นJSONวัตถุ

const bodyParser = require("body-parser");
app.use(bodyParser.json());

const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());

app.listen(3000, () => console.log("Server is started on 3000"));

ที่นี่เราใช้ MongoDB ออนไลน์ คุณสามารถไปที่MongoDB: The Developer Data Platform | MongoDB _ หากคุณมีเซิร์ฟเวอร์ออนไลน์ คุณสามารถลงชื่อเข้าใช้ได้

ไม่ต้องกังวลหากคุณไม่ได้สร้างเซิร์ฟเวอร์ MongoDB

เพียงคลิกที่ลงทะเบียนและกรอกฟอรัมที่มีให้และลงทะเบียนด้วยบัญชี Google

ภาพโดยผู้เขียน

หลังจากนั้น คุณต้องยอมรับข้อกำหนดและนโยบายด้านล่าง และคุณต้องให้คำตอบในฟอรัมถัดไป

ภาพโดยผู้เขียน
ภาพโดยผู้เขียน
ภาพโดยผู้เขียน

สร้างเซิร์ฟเวอร์ของคุณด้วยการตั้งค่าเริ่มต้นที่มีให้ คลิกที่สร้างคลัสเตอร์

ไปที่ DB และสามารถดูคลัสเตอร์เริ่มต้นเป็น Clustor0 จากนั้นคลิกที่คลัสเตอร์และไปที่แท็บการรวบรวมที่เราจัดเก็บข้อมูลของแอปพลิเคชันของเรา

ภาพโดยผู้เขียน

ได้เวลากำหนดค่าเริ่มต้นแล้ว เราต้องการผู้ใช้อย่างน้อยหนึ่งรายเพื่อเชื่อมต่อกับฐานข้อมูล เพื่อไปที่แท็บการเข้าถึงฐานข้อมูลและเพิ่มผู้ใช้ฐานข้อมูลใหม่

ภาพโดยผู้เขียน

ในการเพิ่มผู้ใช้ใหม่ คุณจะได้รับแท็บดังต่อไปนี้

ภาพโดยผู้เขียน

จากนั้นเราต้องกำหนดค่าการเข้าถึงเครือข่าย ไปที่แท็บ Network Access และแทรก0.0.0.0/0เป็น Access List Entry เพื่ออนุญาตการเข้าถึงจากทุกที่

ภาพโดยผู้เขียน
ภาพโดยผู้เขียน

เย้ สุดยอดเลย… ได้เวลาเชื่อมต่อฐานข้อมูลกับเซิร์ฟเวอร์แล้ว ดังนั้นจะกลับไปที่แอปพลิเคชันของเราอีกครั้ง

ขั้นตอนแรกสร้าง.envไฟล์. จากนั้นเราต้องเข้าถึงฐานข้อมูลของเรา จากนั้นคลิกที่เชื่อมต่อ -> เชื่อมต่อแอปพลิเคชันของคุณในคลัสเตอร์ที่เราสร้างไว้ก่อนหน้านี้

ภาพโดยผู้เขียน

และคัดลอกการเชื่อมต่อ uri ไปยังคลิปบอร์ดของคุณ

ภาพโดยผู้เขียน

ที่นี่คุณต้องแทนที่ผู้ดูแลระบบด้วยบทบาทของผู้ใช้ที่คุณสร้างไว้แล้ว และควรเปลี่ยนรหัสผ่านที่สอดคล้องกับบทบาทของผู้ใช้ด้วย

MONGO_URL=mongodb+srv://admin:<password>@questionbank.xgxrf.mongodb.net/employee_db?retryWrites=true&w=majority

const mongoose=require('mongoose')

const dotenv = require("dotenv");

dotenv.config();

const URL = process.env.MONGO_URL

 module.exports=()=>{
    return mongoose.connect(URL)
 }

ดังนั้นlisten()ควรเรียกใช้เมธอดและแทรกการเรียกกลับที่สำเร็จของเมธอดการเชื่อมต่อ DB

const dbConnection = require("./db.js");

dbConnection()
  .then(() => {
    console.log("DB is connected!!")
    app.listen(3000, () => console.log("Server is started on 3000"));
  })
  .catch((err) => console.log(err));

ภาพโดยผู้เขียน
ภาพโดยผู้เขียน

ไม่นะ… มีคำเตือน… จะพยายามลบคำเตือนออก

mongoose.set('strictQuery', false);ปิดใช้งานลักษณะการทำงานของเคียวรีที่เข้มงวดอย่างถูกต้องเท่านั้น หากคุณเรียกใช้ก่อนที่จะสร้างสกีมา หลังจากสร้างสกีมาแล้ว การเปลี่ยนแปลงคุณสมบัตินี้จะถูกละเว้น จากนั้นเพิ่มบรรทัดรหัสนี้ลงในdb.jsไฟล์

mongoose.set("strictQuery", false);

ว้าว… สุดยอด… สำเร็จแล้ว…

พวกฉันคิดว่ามันจะดีกว่าที่จะหยุดพัก ผมจะมาพร้อมกับPart 03เร็วๆนี้ ที่นั่นเราต้องสร้างตัวควบคุม แทรกข้อมูลลงในฐานข้อมูล และ... อื่นๆ อีกมากมาย….

จนกว่าจะถึงตอนนั้น ลาก่อนคุณ…