Mongoose를 사용할 때 ExpenseSchema를 정의하고 이를 통해 모델을 생성하면, Mongoose는 기본적으로 모델 이름을 사용하여 컬렉션 이름을 결정합니다.
모델 이름의 경우, Mongoose는 모델 이름을 소문자로 변환하고 복수형으로 만들어서 MongoDB 컬렉션 이름으로 사용합니다.
예를 들어, Expense 모델의 경우, 컬렉션 이름은 기본적으로 expenses가 됩니다.
내가 ExpenseSchmea로 Expense라 명명 해놓았고,
아래에는 income.save()라는 오류를 범했다. 하지만 몽고디비는 위의 내용에 따라 expenses라 명명해놓고 올바르게 이어지고 있었다.
아래와 같은 예시로 model()의 문자열이 해당 collecion의 이름이 된다. (물론 소문자 변경 + 복수형으로 변경)
- Model 코드-
// User 모델 생성
module.exports = mongoose.model("User", UserSchema);
-controller 코드-
const User = require("../db/db");
const bcrypt = require("bcrypt");
const jwt = require("jsonwebtoken");
const saltRounds = 10; // 비밀번호를 해시할 때 사용할 salt의 길이
const signup = async (req, res) => {
const { password, email, username } = req.body;
try {
// 이메일이 이미 사용 중인지 확인
const existingUser = await User.findOne({ email });
if (existingUser) {
return res.status(400).json({ message: "이메일이 이미 사용 중입니다." });
}
'🔓데이터베이스 > 몽고db' 카테고리의 다른 글
mongdb 참조 설계의 두 가지 방식 (0) | 2024.03.05 |
---|---|
몽고db 클라우드에 정보 보내보기 (0) | 2024.02.14 |
module을 exports하여 postman에서 send 해보기(회원가입 기능) (0) | 2022.12.19 |