Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
PHP 라이브러리 매뉴얼
/

Time Series 컬렉션

이 가이드 에서는 MongoDB PHP 라이브러리를 사용하여 time series 컬렉션 을 만들고 상호 작용 하는 방법을 학습 수 있습니다. 이러한 컬렉션은 다음 구성 요소로 구성된 Time Series 데이터 를 저장 합니다.

  • 측정 수량

  • 측정 타임스탬프

  • 측정값을 설명하는 메타데이터

다음 표에서는 Time Series 데이터 를 저장 수 있는 샘플 상황을 설명합니다.

상황
측정 수량
Metadata

산업별 월별 매출 기록

USD 기준 수익

회사, 국가

날씨 변화 추적

강수량 수준

위치, 센서 유형

기록적인 주택 가격 변동

월 임대료

위치, 통화

중요

Time Series 컬렉션의 서버 버전

Time Series 컬렉션을 만들고 상호 작용하려면 MongoDB Server 5.0 이상을 실행하는 배포에 연결되어 있어야 합니다.

time series 컬렉션 을 만들어 Time Series 데이터 를 저장 수 있습니다. time series 컬렉션 을 만들려면 timeseries 옵션을 설정하는 MongoDB\Database::createCollection() 메서드에 옵션 배열 을 전달합니다. 이 옵션을 설정할 때 다음 필드를 포함합니다.

  • timeField: 각 time series 문서 에 타임스탬프를 저장하는 필드 를 지정합니다.

  • metaField: 각 time series 문서 에 메타데이터 를 저장하는 필드 를 지정합니다.

  • granularity: 연속된 타임스탬프 사이의 대략적인 시간을 지정합니다. 가능한 값은 'seconds', 'minutes''hours' 입니다.

이 예에서는 다음 구성을 사용하여 precipitation 데이터베이스에 sept2023 time series 컬렉션을 생성합니다.

  • timeField 로 설정됩니다. 'timestamp'

  • metaField 로 설정됩니다. 'location'

  • granularity 로 설정됩니다. 'minutes'

$db = $client->precipitation;
$options = [
'timeseries' => [
'timeField' => 'timestamp',
'metaField' => 'location',
'granularity' => 'minutes',
],
];
$db->createCollection('sept2023', $options);

time series 컬렉션 이 성공적으로 생성되었는지 확인하려면 데이터베이스 에서 MongoDB\Database::listCollections() 메서드를 호출하고 결과를 출력합니다.

$cursor = $db->listCollections();
foreach ($cursor as $collectionInfo) {
print_r($collectionInfo) . PHP_EOL;
}
MongoDB\Model\CollectionInfo Object
(
[name] => sept2023
[type] => timeseries
[options] => Array
(
)
[info] => Array
(
)
)
MongoDB\Model\CollectionInfo Object
(
[name] => system.buckets.sept2023
[type] => collection
[options] => Array
(
)
[info] => Array
(
)
)

참고

MongoDB 는 time series 컬렉션과 관련된 시스템 데이터를 <database>.system.buckets 네임스페이스 에 저장합니다. 자세한 내용은 MongoDB Server 매뉴얼에서 데이터베이스 .system.buckets 를 참조하세요.

MongoDB\Collection::insertOne() 또는 MongoDB\Collection::insertMany() 메서드를 사용하고 삽입된 각 문서 에 측정값, 타임스탬프 및 메타데이터 를 지정하여 time series 컬렉션 에 데이터를 삽입할 수 있습니다.

컬렉션 에 문서를 삽입하는 방법에 학습 보려면 문서 삽입 가이드 를 참조하세요.

이 예시 에서는 Time Series 컬렉션 만들기 예시 에서 만든 sept2023 time series 컬렉션 에 뉴욕시 강수량 데이터를 삽입합니다. 각 문서 에는 다음 필드가 포함되어 있습니다.

  • precipitation_mm강수량 측정값을 밀리미터 단위로 저장합니다.

  • location위치 메타데이터 를 저장합니다.

  • timestamp, 측정 컬렉션 의 시간을 저장합니다.

$collection = $db->sept2023;
$result = $collection->insertMany(
[
[
'precipitation_mm' => 0.5,
'location' => 'New York City',
'timestamp' => new MongoDB\BSON\UTCDateTime(1694829060000),
],
[
'precipitation_mm' => 2.8,
'location' => 'New York City',
'timestamp' => new MongoDB\BSON\UTCDateTime(1695594780000),
],
],
);

다른 컬렉션에서 읽기 또는 집계 작업을 수행할 때 사용하는 것과 동일한 구문 및 규칙을 사용하여 time series 컬렉션 에 저장된 데이터를 쿼리 할 수 있습니다. 이러한 작업에 대한 자세한 내용은 추가 정보 섹션을 참조하세요.

이 가이드에 언급된 개념에 대해 자세히 알아보려면 다음 서버 매뉴얼 항목을 참조하세요.

쿼리 작업 수행에 대해 자세히 학습 쿼리 작업을 참조하세요.

집계 작업 수행에 대해 자세히 학습 애그리게이션 작업 가이드 참조하세요.

이 가이드 에 언급된 메서드에 학습 보려면 다음 API 설명서를 참조하세요.

돌아가기

BSON

이 페이지의 내용