본문 바로가기
프로그래밍/자바스크립트

프로그래밍 「 자바스크립트 편」Mongoose에 대한 UUID 스키마 형식

by grapedoukan 2023. 6. 16.
728x90

애플리케이션에 MongoDB를 사용하는 Node.js 개발자라면 애플리케이션 데이터를 모델링할 수 있는 간단한 스키마 기반 솔루션을 제공하는 인기 있는 ODM(Object Data Modeling) 라이브러리인 Mongoose에 익숙할 것입니다. 그러나 몽구스 스키마에서 UUID (Universally Unique Identifiers)로 작업해야하며 도움이되는 사용자 정의 스키마 유형이 있기를 바란 적이 있습니까? 그렇다면 npm 패키지를 살펴보십시오.mongoose-uuid-ts

mongoose-uuid-ts는 무엇입니까?

mongoose-uuid-ts 는 MongoDB에서 UUID 값을 버퍼로 저장하고 조작할 수 있는 Mongoose의 사용자 지정 스키마 유형입니다. 이 패키지는 Mongoose에서 제공하는 기존 스키마 유형을 확장하여 UUID를 자주 사용하는 개발자에게 유용한 도구입니다.UUID

mongoose-uuid-ts 설치

쉽게 시작할 수 있습니다. 먼저 프로젝트에 Mongoose와 패키지가 모두 설치되어 있는지 확인합니다. 그렇지 않은 경우 다음 명령을 사용하여 추가할 수 있습니다.mongoose-uuid-tsuuid

npm install mongoose uuid

그런 다음 다음 명령을 사용하여 설치할 수 있습니다.mongoose-uuid-ts

npm i mongoose-uuid-ts

이렇게 하면 프로젝트의 종속성에 패키지가 추가됩니다.mongoose-uuid-ts

mongoose-uuid-ts 사용

설치가 완료되면 프로젝트에서 사용을 시작할 수 있습니다. 다음은 이 사용자 지정 스키마 유형【11†source】을 사용하는 방법에 대한 단계별 가이드입니다.mongoose-uuid-ts

  1. 필요한 종속성을 가져옵니다.
import mongoose from "mongoose";
import { v4 as uuidv4, validate as uuidValidate } from "uuid";
import { Buffer } from "buffer";

2. 클래스를 정의하여 Mongoose에서 제공하는 스키마 유형을 확장합니다.UUIDSchemaTypeUUID

class UUIDSchemaType extends mongoose.Schema.Types.UUID {
  // Custom implementation of the UUID schema type
  // ...
}

3. 요구 사항에 따라 클래스에서 필요한 방법 (, , , )을 구현하십시오. 이러한 메서드는 UUID 값의 캐스팅, 쿼리, 가져오기 및 유효성 검사를 처리합니다.castcastForQuerygetcheckRequiredUUIDSchemaType

4. 몽구스에 등록:UUIDSchemaType

mongoose.Schema.Types.UUID = UUIDSchemaType;

5. 이제 Mongoose 스키마에서 스키마 유형을 사용할 수 있습니다.UUID

const MySchema = new mongoose.Schema({
  uuidField: {
    type: mongoose.Schema.Types.UUID,
    required: true,
  },
  // ...
});

본보기

다음은 의 사용법을 보여주는 예입니다.UUIDSchemaType

// Add UUID to Mongoose Schema types
mongoose.Schema.Types.UUID = UUIDSchemaType;// Create a sample schema
const UserSchema = new mongoose.Schema({
  id: {
    type: mongoose.Schema.Types.UUID,
    default: () => uuidv4(),
  },
  name: String,
});// Create a model using the schema
const User = mongoose.model("User", UserSchema);// Create a new user
const newUser = new User({
  name: "John Doe",
});// Save the user to the database
newUser.save()
  .then((user) => {
    console.log("User created:", user);
  })
  .catch((error) => {
    console.error("Error creating user:", error);
  });

이 예에서, 는 사용자가 생성될 때마다 생성되는 새로운 UUID로 디폴트되는 UUID 필드()를 포함한다. 새 사용자가 저장되면 프라미스 기반 함수는 프로세스 중에 발생할 수 있는 모든 오류를 처리합니다.UserSchemaiduuidv4()save()

기여

패키지는 오픈 소스이며 기여를 환영합니다. 문제가 발생하거나 개선을 위한 제안이 있는 경우 프로젝트의 GitHub 리포지토리에서 문제를 열거나 끌어오기 요청을 제출하는 것이 좋습니다. 이 코드는 MIT 라이선스에 따라 제공되므로 누구나 무료로 사용, 수정 및 배포할 수 있습니다.mongoose-uuid-ts

결론

처음부터 새 프로젝트를 구축하든 대규모 코드베이스를 유지 관리하든 Mongoose를 통해 MongoDB에서 UUID로 작업할 때 유용한 도구가 될 수 있습니다. 유연하고 간단한 구현을 통해 UUID를 데이터 모델에 원활하게 통합하고 애플리케이션의 기능을 향상시킬 수 있습니다. 한 번 사용해보시고, 어떻게 개발 프로세스를 간소화할 수 있는지 확인해 보세요.mongoose-uuid-ts

728x90