Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

시계열 수집 제한 사항

이 페이지의 내용

  • 지원되지 않는 기능
  • 제약 조건
  • 집계 $out 및 $merge
  • distinct 명령
  • 문서 크기
  • 업데이트 및 삭제
  • 보조 인덱스
  • 고정 사이즈 컬렉션
  • 컬렉션 유형 수정
  • timeFieldmetaField수정
  • 의 수정 granularity
  • 샤딩
  • 샤딩 관리 명령
  • 트랜잭션
  • 스냅샷 격리

다음 기능은 Time Series 컬렉션에 대해 지원되지 않습니다.

측정 문서의 최대 크기는 4 MB입니다.

집계 파이프라인 단계 $out$merge 를 사용하여 다른 컬렉션의 시계열 컬렉션 으로 출력하거나 병합할 수 없습니다.

Time Series 컬렉션의 고유한 데이터 구조로 인해 MongoDB는 고유한 값에 대해 효율적으로 인덱스를 생성할 수 없습니다. Time Series 컬렉션에서 distinct 명령이나 db.collection.distinct() 도우미 메서드를 사용하지 마세요. 대신 $group 집계를 사용하여 고유한 값으로 문서를 그룹화하세요.

예를 들어 meta.project = 10인 문서에서 고유한 meta.type 값을 쿼리하려면 대신 다음을 사용하세요.

db.foo.distinct("meta.type", {"meta.project": 10})

다음을 사용하세요.

db.foo.createIndex({"meta.project":1, "meta.type":1})
db.foo.aggregate([{$match: {"meta.project": 10}},
{$group: {_id: "$meta.type"}}])

다음과 같이 작동합니다.

  1. meta.projectmeta.type에 대한 복합 인덱스를 생성하여 집계를 지원합니다.

  2. $match 단계는 meta.project = 10인 문서를 필터링합니다.

  3. $group 단계에서는 meta.type을 그룹 키로 사용하여 고유 값당 문서 하나를 출력합니다.

time series 컬렉션 내 문서의 최대 크기는 4 MB입니다.

MongoDB 5.0.5 부터 시작됩니다. 일부 삭제 및 업데이트 작업을 수행할 수 있습니다.

삭제 명령은 다음 요구 사항을 충족해야 합니다.

  • 쿼리는 metaField 필드 값에 대해서만 일치시킬 수 있습니다.

  • 삭제 명령은 삭제할 문서 수를 제한하지 않을 수 있습니다. justOne: false 또는 deleteMany() 메서드와 함께 삭제 명령을 사용해야 합니다.

업데이트 명령은 다음 요구 사항을 충족해야 합니다.

  • 쿼리는 metaField 필드 값에 대해서만 일치시킬 수 있습니다.

  • 업데이트 명령은 metaField 필드 값만 수정할 수 있습니다.

  • 업데이트 연산자 표현식만 포함된 업데이트 문서로 업데이트를 수행해야 합니다.

  • 업데이트 명령은 업데이트할 문서 수를 제한해서는 안 됩니다. multi: true 또는 updateMany() 메서드와 함께 업데이트 명령을 사용해야 합니다.

  • 업데이트 명령이 upsert: true를 설정하지 못할 수 있습니다.

오래된 데이터를 자동으로 삭제하려면 자동 삭제(TTL)를 설정하세요.

컬렉션에서 모든 문서를 제거하려면 drop() 메서드를 사용하여 컬렉션을 제거합니다.

시계열 컬렉션에 1970-01-01T00:00:00.000Z 이전 또는 2038-01-19T03:14:07.000Z 이후에 timeField 타임스탬프가 있는 문서가 포함된 경우 TTL " time to live " 기능을 사용하여 컬렉션에서 문서를 삭제하지 않습니다.

TTL 삭제에 대한 자세한 내용은 TTL을 설정하여 컬렉션에서 데이터 만료하기를 참조하세요.

timeFieldmetaField 로 지정된 필드에 보조 인덱스 를 추가할 수 있습니다. metaField 필드의 필드 값이 문서인 경우 해당 문서 내부의 필드에 보조 인덱스를 만들 수도 있습니다.

metaField 는 다음 인덱스 유형을 지원 하지 않습니다.

보조 인덱스는 다음 인덱스 속성을 지원하지 않습니다.

time series 컬렉션은 고정 사이즈 컬렉션으로 만들 수 없습니다 .

컬렉션의 유형은 컬렉션을 생성할 때만 설정할 수 있습니다.

기존 컬렉션에서 Time Series 컬렉션으로 데이터를 이동하려면 데이터를 Time Series 컬렉션으로 마이그레이션합니다.

컬렉션을 만들 때 컬렉션의 timeFieldmetaField 매개변수만 설정할 수 있습니다. 생성 후에는 이러한 매개변수를 수정할 수 없습니다.

granularity 이(가) 설정되면 한 번에 한 레벨씩만 증가시킬 수 있습니다. "seconds" 에서 "minutes" 로 또는 "minutes" 에서 "hours" 로. 다른 변경은 허용되지 않습니다. 를 에서 로 granularity "seconds" "hours"변경해야 granularity "minutes" "hours" 하는 경우 먼저 를 로 늘리고 로 늘립니다.

MongoDB 5.0.6 부터 시작됩니다. 샤드 time series 컬렉션이 지원됩니다. 샤딩된 Time Series 컬렉션을 사용하는 경우 샤딩된 Time Series 컬렉션의 granularity 를 수정할 수 없습니다.

MongoDB 5.0.6 이전 버전에서는 time series 컬렉션을 샤딩할 수 없습니다.

샤딩된 time series 컬렉션에서는 샤딩 관리 명령을 실행할 수 없습니다.

트랜잭션에서는 Time Series 컬렉션에 작성할 수 없습니다.

참고

time series 컬렉션 읽기는 트랜잭션에서 지원됩니다.

읽기 고려 "snapshot"이 있는 Time Series 컬렉션에 대한 읽기 작업은 읽기 작업에서 컬렉션에 대한 동시 제거 또는 이름 변경 작업이 없는 경우에만 스냅샷 격리를 보장합니다. 동일한 네임스페이스에서 세분성 설정이 다른 Time Series 컬렉션을 다시 생성해도 전체 스냅샷 격리가 이루어지지 않습니다.

돌아가기

시계열