Commit 176c0757 authored by 이다현's avatar 이다현
Browse files

1월 13일 수업 예제 작성

parent 0dbb4769
import express from "express";
// 웹서버 관련된 모듈
import User from "./models/users.model.js";
const app = express();
app.get("/hello", (req, res) => {
console.log("baseUrl", req.baseUrl, "hostname", req.hostname, "url", req.url);
console.log("root path get method called.");
res.send("<h1>안녕하세요.</h1>");
// res.json({ message: "안녕", id: 12 });
});
// http://localhost:3000/hello 가 실행된다
app.get("/users", async (req, res) => {
const newUser = await User.create({
password: "xkkxkxk",
email: "xxx@xxxx.com",
name: "dkxkdkf",
});
console.log("new user:", newUser);
const users = await User.find();
res.json(users);
});
// http://localhost:3000/users 가 실행된다
export default app;
// app.listen(port, () => {
// console.log(`server is running at ${port} port.`);
// });
import express from "express"; import mongoose from "mongoose";
import app from "./app.js";
const port = 3000; const port = 3000;
const app = express();
app.get("/api/hello", (req, res) => { mongoose
console.log("baseUrl", req.baseUrl, "hostname", req.hostname, "url", req.url); .connect("mongodb://127.0.0.1:27017/test")
console.log("root path get method called."); // uri: mongodb 연결하는 주소(문자열) -> mongodb://localhost:27017/test / host:port 번호 / test: 데이터베이스 이름
res.send("<h1>안녕하세요.</h1>"); .then((mgs) => {
// res.json({ message: "안녕", id: 12 }); console.log(`버전 ${mgs.version} 몽구스: 몽고디비가 접속 되었습니다.`);
}); app.listen(port, () => {
app.listen(port, () => {
console.log(`server is running at ${port} port.`); console.log(`server is running at ${port} port.`);
}); });
// 웹서버를 불러옴
})
.catch((error) => {
console.log(error);
});
// 에러를 잡아줌
import { Schema, model } from "mongoose";
const validateEmail = (email) => {
const re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
return re.test(email);
};
const schema = new Schema({
// Schema는 데이터를 만드는 틀
email: {
// email 이라는 column을 만듦, email에 대한 옵션 설정
type: String,
// type은 항상 지정해야 함
required: true,
// email이 꼭 필요하다는 의미로, email을 입력하지 않으면 에러 발생
unique: true,
// 이메일이 중복되면 안 된다는 의미로, 중복 입력시 에러 발생
validate: [validateEmail, "이메일을 입력해주세요"],
// true이면 validateEmail을, false이면 "이메일을 입력해주세요"을 나타냄
},
name: { type: String },
// name 이라는 column을 만듦
password: { type: String, required: true, select: false },
// password 라는 column을 만듦
role: { type: Schema.Types.ObjectId, ref: "Role" },
// role 이라는 column을 만듦
});
export default model("User", schema);
// 변수 schema를 User라는 이름으로 내보낸다
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment