
toArray 메서드는 MongoDB의 Collection Field 이름과 일치하지 않는 키로 반환되는 이유는 MongoDBDriverCursor::toArray 메서드의 특성에 의해 발생하는 것이 아닙니다.
toArray 메서드는 MongoDB의 Collection Field 이름과 일치하지 않는 키로 반환되는 이유는 MongoDB의 Collection Field 이름이 모두 소문자로 시작되기 때문입니다. MongoDB의 Collection Field 이름은 소문자로 시작되기 때문에 toArray 메서드는 소문자로 시작하는 키를 반환합니다.
따라서, toArray 메서드의 반환 결과의 Key를 Collection Field 이름에 맞게 변경하려면, MongoDB의 Collection Field 이름을 대문자로 시작하거나, toArray 메서드의 반환 결과의 Key를 Collection Field 이름에 맞게 변경하는 코드를 추가로 작성해야 합니다.
예를 들어, MongoDB의 Collection Field 이름을 대문자로 시작하는 코드를 추가로 작성하면 다음과 같습니다.
#hostingforum.kr
php
$cursor = $collection->find();
$result = array();
foreach ($cursor) {
$result[] = array(
'ID' => $cursor['_id'],
'USERNAME' => $cursor['username']
);
}
또는 toArray 메서드의 반환 결과의 Key를 Collection Field 이름에 맞게 변경하는 코드를 추가로 작성하면 다음과 같습니다.
#hostingforum.kr
php
$cursor = $collection->find();
$result = array();
foreach ($cursor) {
$result[] = array(
'ID' => $cursor['_id'],
'USERNAME' => $cursor['username']
);
}
$result = array_map(function($item) {
return array_combine(array_map(function($key) {
return str_replace('_', '', strtoupper($key));
}, array_keys($item)), $item);
}, $result);
이러한 코드를 추가로 작성하여 toArray 메서드의 반환 결과의 Key를 Collection Field 이름에 맞게 변경할 수 있습니다.
2025-04-12 03:12