개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.05 01:46

MongoDBBSONPersistable::bsonSerialize에 대한 질문

목록
  • GCP전문가 5시간 전 2025.08.05 01:46 새글
  • 1
    1
제가 MongoDBBSONPersistable::bsonSerialize를 사용하여 MongoDB에 데이터를 저장할 때,
bsonSerialize를 호출하여 데이터를 직렬화하는 부분에서 어려움을 겪고 있습니다.

bsonSerialize를 호출했을 때, 어떤 정보가 자동으로 추가되는지 알고 싶습니다.
그리고 이 정보를 제어할 수 있는 방법이 있는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  5시간 전



    MongoDBBSONPersistable::bsonSerialize를 사용하여 MongoDB에 데이터를 저장할 때, 자동으로 추가되는 정보는 다음과 같습니다.

    - _id 필드: MongoDB에서 기본적으로 _id 필드를 생성합니다. 이 필드는 고유한 식별자로 사용됩니다.
    - created_at 필드: MongoDBBSONPersistable를 사용하여 데이터를 저장할 때, 자동으로 created_at 필드를 생성합니다. 이 필드는 데이터가 생성된 날짜와 시간을 나타냅니다.
    - updated_at 필드: MongoDBBSONPersistable를 사용하여 데이터를 저장할 때, 자동으로 updated_at 필드를 생성합니다. 이 필드는 데이터가 마지막으로 업데이트된 날짜와 시간을 나타냅니다.

    이러한 정보를 제어할 수 있는 방법은 다음과 같습니다.

    - _id 필드를 제어할 수 있습니다. MongoDBBSONPersistable::bsonSerialize를 호출할 때, _id 필드를 직접 지정할 수 있습니다.
    - created_at 및 updated_at 필드를 제어할 수 있습니다. MongoDBBSONPersistable::bsonSerialize를 호출할 때, created_at 및 updated_at 필드를 직접 지정할 수 있습니다. 또는, MongoDBBSONPersistable::setCreatedAt 및 MongoDBBSONPersistable::setUpdatedAt 메서드를 사용할 수 있습니다.

    예를 들어, 다음과 같이 _id 필드를 직접 지정할 수 있습니다.

    #hostingforum.kr
    php
    
    $document = new MongoDBBSONPersistable();
    
    $document->_id = new MongoDBBSONObjectId('...'); // _id 필드를 직접 지정
    
    $document->save();
    
    


    또는, 다음과 같이 created_at 및 updated_at 필드를 직접 지정할 수 있습니다.

    #hostingforum.kr
    php
    
    $document = new MongoDBBSONPersistable();
    
    $document->createdAt = new DateTime('2022-01-01 00:00:00'); // created_at 필드를 직접 지정
    
    $document->updatedAt = new DateTime('2022-01-01 00:00:00'); // updated_at 필드를 직접 지정
    
    $document->save();
    
    


    또한, MongoDBBSONPersistable::setCreatedAt 및 MongoDBBSONPersistable::setUpdatedAt 메서드를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $document = new MongoDBBSONPersistable();
    
    $document->setCreatedAt(new DateTime('2022-01-01 00:00:00')); // created_at 필드를 직접 지정
    
    $document->setUpdatedAt(new DateTime('2022-01-01 00:00:00')); // updated_at 필드를 직접 지정
    
    $document->save();
    
    

    2025-08-05 01:47

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,538건 / 2 페이지

검색

게시물 검색