
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