
BSON 데이터를 PHP에서 객체로 변환하는 방법은 `json_decode` 함수를 사용하는 것이 올바른 방법인데, 이 함수는 JSON 데이터를 PHP 객체로 변환하는 함수입니다. 하지만 MongoDB의 BSON 데이터는 JSON과 조금 다르기 때문에, MongoDB의 PHP 드라이버에서 제공하는 `MongoDB\BSON\toObject` 함수를 사용하는 것이 더 적합합니다.
`MongoDB\BSON\toObject` 함수는 BSON 데이터를 PHP 객체로 변환하는 함수입니다. 이 함수를 사용하면, BSON 데이터의 `_id` 필드도 올바르게 처리됩니다.
아래 예제 코드를 참고하세요.
#hostingforum.kr
php
$mongo = new MongoDBDriverManager("mongodb://localhost:27017");
$db = $mongo->selectDatabase("mydatabase");
$collection = $db->selectCollection("mycollection");
$data = array(
"name" => "John",
"age" => 30
);
$result = $collection->insertOne($data);
$document = $collection->findOne(['_id' => $result->getInsertedId()]);
$documentObject = MongoDBBSONtoObject($document);
print_r($documentObject);
이 코드에서 `$documentObject` 변수는 BSON 데이터를 PHP 객체로 변환한 결과입니다. 이 객체의 `_id` 필드는 올바르게 처리됩니다.
따라서, `json_decode` 함수를 사용하여 BSON 데이터를 PHP에서 객체로 변환하는 것이 올바른 방법인 것은 아닙니다. 대신 `MongoDB\BSON\toObject` 함수를 사용하는 것이 더 적합합니다.
2025-03-22 04:21