😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[E-Commerce App with REST API] (2) User의 νšŒμ›κ°€μž… 내역을 MongoDB 연동 & PostMan 확인 λ³Έλ¬Έ

πŸ‘©‍πŸ’» λ°±μ—”λ“œ(Back-End)/Node js

[E-Commerce App with REST API] (2) User의 νšŒμ›κ°€μž… 내역을 MongoDB 연동 & PostMan 확인

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 3. 21. 00:50
728x90
λ°˜μ‘ν˜•

<λ³Έ λΈ”λ‘œκ·ΈλŠ” Developers Corner μ˜ 유튜브λ₯Ό μ°Έκ³ ν•΄μ„œ κ³΅λΆ€ν•˜λ©° μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :-)>

=> Node.js E-Commerce App with REST API: Let's Build a Real-Life Example!

 

 

🌷 User의 νšŒμ›κ°€μž… λ‚΄μ—­μ„ MongoDB μ—°λ™

 

🌷 PostMan ν™•μΈ

정보 λ„£κΈ° μ™„λ£Œ~~~~~~~~~~~~~~ λ˜‘κ°™μ€ μ΄λ©”μΌμ΄λ‚˜ μ „ν™”λ²ˆν˜Έ λ„£μœΌλ©΄ 이미 μ‘΄μž¬ν•©λ‹ˆλ‹€~~~

 

🌷 μ½”λ“œ

βœ… models/User.js

const mongoose = require("mongoose");

const UserSchema = new mongoose.Schema({
  firstname: {
    type: String,
    required: true
  },
  lastname: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  mobile: {
    type: String,
    required: true,
    unique: true
  },
  password: {
    type: String,
    required: true,
  }
}, { collection: 'Commerce' });

const User = mongoose.model("User", UserSchema);
module.exports = User;

 

βœ… controllers/userCtrl.js

const User = require("../models/User");

const createUser = async (req, res) => {
  const email = req.body.email;
  const findUser = await User.findOne({email : email});

  // email이 db에 μ—†λ‹€λ©΄
  if (!findUser) {
    // Create
    const newUser = await User.create(req.body);
    res.json(newUser);
  } else {
    // User already existed
    res.json({
      msg: "User already existed!",
      success: false,
    });
  }
};

module.exports = createUser;

 

βœ… index.js

const express = require("express");
const bodyParser = require("body-parser");
const dbConnect = require("./config/dbConnect");
const app = express();
require("dotenv").config();
const PORT = process.env.PORT || 8000;

const authRouter = require("./routes/authRoute");

// mongoDB
dbConnect();
// Bodyparser
// expressμ„œλ²„λ‘œ POSTμš”μ²­μ„ ν•  λ•Œ inputνƒœκ·Έμ˜ valueλ₯Ό 전달
// URL-encoded ν˜•μ‹μ˜ λ¬Έμžμ—΄λ‘œ λ„˜μ–΄μ˜€κΈ° λ•Œλ¬Έμ— 객체둜의 λ³€ν™˜ ν•„μš”
app.use(bodyParser.json());
app.use(express.urlencoded({ extended: false }));


app.use("/api/user", authRouter);

app.use("/", (req, res) => {
  res.send("hihi");
})

app.listen(PORT, () => {
    console.log(`πŸš€ Server started on port http://localhost:${PORT}`);
});

 

βœ… controllers/userCtrl.js

const express = require("express");
const router = express.Router();
const createUser = require("../controllers/userCtrl");

router.post("/register", createUser);

module.exports = router;
728x90
λ°˜μ‘ν˜•
Comments