
이 문제는 MongoDBDriverServerApi::bsonSerialize를 사용할 때 발생하는 문제입니다.
일단, MongoDB의 ObjectId를 serialize할 때 사용하는 형식은 다음과 같습니다.
#hostingforum.kr
json
{
"_id": {
"$oid": "..."
}
}
이와 같이 serialize된 데이터를 얻기 위해서는 MongoDBDriverServerApi::bsonSerialize를 사용할 때 옵션을 설정해야 합니다.
#hostingforum.kr
php
$serverApi->bsonSerialize($document, ['root' => '_id']);
이 옵션을 사용하면 serialize된 데이터의 "_id" field에 "name"이 추가되지 않습니다.
또한, MongoDBDriverServerApi::bsonSerialize를 사용할 때는 MongoDB의 ObjectId를 serialize할 때 사용하는 형식에 맞게 serialize된 데이터를 얻을 수 있습니다.
#hostingforum.kr
json
{
"_id": {
"$oid": "..."
}
}
이와 같이 serialize된 데이터를 얻기 위해서는 MongoDBDriverServerApi::bsonSerialize를 사용할 때 옵션을 설정해야 합니다.
#hostingforum.kr
php
$serverApi->bsonSerialize($document, ['root' => '_id', 'typeMap' => ['root' => 'document']]);
이 옵션을 사용하면 serialize된 데이터의 "_id" field에 "name"이 추가되지 않습니다.
또한, MongoDBDriverServerApi::bsonSerialize를 사용할 때는 MongoDB의 ObjectId를 serialize할 때 사용하는 형식에 맞게 serialize된 데이터를 얻을 수 있습니다.
#hostingforum.kr
json
{
"_id": {
"$oid": "..."
}
}
이와 같이 serialize된 데이터를 얻기 위해서는 MongoDBDriverServerApi::bsonSerialize를 사용할 때 옵션을 설정해야 합니다.
#hostingforum.kr
php
$serverApi->bsonSerialize($document, ['root' => '_id', 'typeMap' => ['root' => 'document'], 'serializeFunctions' => ['ObjectId' => 'MongoDB\BSON\ObjectId']]);
이 옵션을 사용하면 serialize된 데이터의 "_id" field에 "name"이 추가되지 않습니다.
이러한 옵션을 사용하면 MongoDBDriverServerApi::bsonSerialize를 사용할 때 발생하는 문제점을 해결할 수 있습니다.
2025-07-12 12:26