데일리 투 센트 - 몽구스

7990 단어 mongoose
Daily Two Cents에 다시 오신 것을 환영합니다!

오늘은 나에게 바쁜 날이었다. 즉, 코드에 집중할 시간이 많지 않았다. 즉, bujo 응용 프로그램에 사용할 모델을 작성할 수 있었습니다. 프론트엔드에서 작업하는 동안 꽤 쉽게 설정할 수 있는 가짜 REST API인 json server을 사용했기 때문에 쉬웠습니다. 이를 통해 redux를 포함한 모든 프론트엔드 코드를 작성할 수 있었고 백엔드 서버에 모두 들어가지 않고도 작동하는지 확인할 수 있었습니다.

mongoose 모델을 만드는 데 필요한 모든 것이 있었기 때문에 가짜 API에서 실제 js 모델 파일로 "모델"을 옮기는 것은 꽤 쉬웠습니다. 오늘은 각 컬렉션의 모델을 살펴보고 시작하겠습니다.

const mongoose = require('mongoose');
const uuidv4 = require('uuid').v4();

const UserSchema = mongoose.Schema({
  _id: {
    type: String,
    default: uuidv4,
    required: true,
  },
  email: {
    type: String,
    required: true,
  },
  password: {
    type: String,
    required: true,
  },
  reset_token: {
    type: String,
    required: false,
  },
  reset_expires: {
    type: Date,
    required: false,
  },
});

module.exports = mongoose.model('users', UserSchema);


이것이 내 사용자 컬렉션의 모델입니다. 맨 위에는 명백한 이유로 몽구스와 uuidv4가 필요합니다. 데이터베이스에 추가할 데이터에 대한 uuid를 자동으로 생성할 수 있도록 uuid package을 사용하고 있습니다.

이제 열입니다. 이것은 사용자를 위한 것이므로 이메일과 비밀번호를 모두 포함하고 필요로 했습니다. 물론 비밀번호는 해싱되지만 저는 아직 거기에 도달하지 못했습니다. reset_token 및 reset_expires 열의 경우 사이트에 암호 재설정 기능을 추가할 계획이므로 미리 추가하겠습니다. 또한 항상 암호를 재설정하는 데 토큰이 필요하지 않기 때문에 필요하지 않습니다. 그런 다음 마지막 줄에서 mongoose.model 함수를 사용하여 스키마를 내보냅니다.

이제 총알 모델입니다.

const mongoose = require('mongoose');
const uuidv4 = require('uuid').v4();

const BulletSchema = mongoose.Schema({
  _id: {
    type: String,
    default: uuidv4,
    required: true,
  },
  name: {
    type: String,
    required: true,
  },
  type: {
    type: String,
    required: true,
  },
  date: {
    type: Date,
    default: Date.now(),
    required: true,
  },
  priority: {
    type: Boolean,
    required: true,
  },
  userId: {
    type: String,
    required: true,
  },
});

module.exports = mongoose.model('bullets', BulletSchema);


맨 위 2줄과 마지막 줄은 거의 같기 때문에 이 항목의 열에 더 중점을 둘 것입니다.

이름 열은 "글머리 기호"의 이름에 대한 것이고 유형은 글머리 기호의 종류(작업, 이벤트 또는 메모)에 대한 것입니다. 날짜는 글머리 기호가 생성된 날짜이므로 날짜별로 정렬할 수 있습니다. 도움이 되도록 기본값Daet.now()이 있음을 알 수 있습니다. 이제 우선 순위는 부울입니다. 왜냐하면 총알을 완성하는 데 정말로 집중하고 싶거나 그렇지 않기 때문입니다. 그리고 useId 열은 어떤 글머리 기호가 어떤 사용자에게 속하는지 알 수 있도록 합니다.

많은 일을 하지 않았기 때문에 오늘 설명이 조금 길었지만, 저는 여전히 제 발전이 자랑스럽습니다. 나는 여기서 사인을 하고 내일 뵙겠습니다. 평화!

좋은 웹페이지 즐겨찾기