1. id 타입으로인해 문제가 발생할수 있다. 이 점을 주의하자
// 파이썬에서는 아래 함수를 선언해서 써줬고
class PydanticObjectId(ObjectId):
  """MongoDB ObjectId 필드를 위한 Pydantic 타입"""

  @classmethod
  def __get_validators__(cls):
    yield cls.validate

  @classmethod
  def validate(cls, value):
    if not ObjectId.is_valid(value):
      raise ValueError(f"Invalid ObjectId: {value}")
    return ObjectId(value)

  @classmethod
  def __get_pydantic_core_schema__(
      cls, _source_type: Any, _handler: GetCoreSchemaHandler
  ) -> core_schema.CoreSchema:
    """Pydantic 2.x에 맞는 스키마 생성 메서드"""
    return core_schema.union_schema([
      core_schema.is_instance_schema(ObjectId),
      core_schema.chain_schema([
        core_schema.string_schema(),
        core_schema.no_info_plain_validator_function(cls.validate)
      ])
    ], serialization=core_schema.to_string_serializer())

  def __str__(self):
    return str(super().__str__())
// 파이썬 에서는 스키마에 이걸 추가 해 줬다.
  model_config = ConfigDict(
      json_encoders={ObjectId: str}  # 🔥🔥🔥 ObjectId를 문자열로 변환 🔥🔥🔥
  )
  1. 맥에서 설치
brew tap mongodb/brew
brew install mongodb-community
brew services start mongodb-community

// 실행(터미널에서)
mongo
// 실행시 command not found:mongo 발생시
brew install mongodb-community-shell

// 사용자 계정 추가해서 인증된 사용자만 접속할수 있게 하려면
use admin
db.createUser({user : "root", pwd : "1234", roles : [ "root" ]})

brew services stop mongodb-community

vi /usr/local/etc/mongod.conf

// 들어가서
security: 
	authorization: enabled // 로 변경

// 그 후 다시 실행
brew services restart mongodb-community

// 종료 할때는
brew services stop mongodb-community

// 로그인 할때는
mongo admin -u root -p 1234