AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

장고와 MongoDB 기능 호환성

이 페이지에서는 Django MongoDB 백엔드에서 지원되는 기능과 지원되지 않는 기능에 대한 정보를 찾을 수 있습니다. 현재 향후 릴리스를 위해 계획된 기능도 찾을 수 있습니다. 향후 기능의 우선 순위는 사용자 요구 사항에 따라 결정되며, JIRA 이슈를 생성하여기능에 대한 지원 요청 수 있습니다.

장고 MongoDB 백엔드는 다음 작업을 지원하지만 성능이 떨어질 수 있습니다.

작업
성능 참고 사항

$expr 연산

$expr 연산자를 사용하는 쿼리는 인덱스를 사용할 지 여부를 예측할 수 없고 컬렉션 스캔을 수행하므로 실행 속도가 느릴 수 있습니다. in 검색을 지정하는 쿼리와 같은 일부 QuerySet 작업은 $expr 을 사용하여 쿼리 결과를 평가하고 성능이 저하됩니다.
GA 출시 후 버전에서 이 성능 문제를 해결할 계획입니다.

$lookup 연산

$lookup 연산자를 사용하는 쿼리는 실행이 느릴 수 있습니다. 성능을 향상시키려면 가능한 경우 $lookup 연산자 대신 내장 모델 을 사용하는 것이 좋습니다. $lookup 작업을 줄이는 방법에 대해 자세히 알아보려면 MongoDB Atlas 문서에서 $lookup 작업 줄이기 가이드를 참조하세요.

이 섹션은 Django MongoDB 백엔드가 다양한 MongoDB 기능을 지원하는지 여부를 나타냅니다.

MongoDB 기능
현재 지원

검색 인덱스

부분적으로 지원됩니다. 다음 고급 인덱스 정의 필드 는 지원되지 않습니다.

  • numPartitions

  • analyzers

  • storedSource

  • synonyms

  • typeSets

MongoDB 일부 데이터 유형에 대해 검색 인덱스를 지원 하지 않습니다. 지원되지 않는 유형의 목록을 보려면 MongoDB Atlas 설명서에서 데이터 유형 제한 을 참조하세요.

벡터 검색 인덱스

부분적으로 지원됩니다. 장고 MongoDB 백엔드를 사용하여 인덱스 이름, 인덱스 할 필드 및 유사성 함수를 지정하는 기본 Vector 검색 인덱스를 만들 수 있습니다. 다른 모든 인덱스 정의 필드 는 지원되지 않습니다.

복합 인덱스

내장된 문서 인덱스

지리 공간적 인덱스

Multikey 인덱스

부분 인덱스

단일 필드 인덱스

Unique indexes

모델 생성 후 임베디드 모델 인덱스 업데이트

지원되지 않습니다.

EmbeddedModelArrayField 인덱스

PolymorphicEmbeddedModelFieldPolymorphicEmbeddedModelArrayField 인덱스

Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 MongoDB 데이터 유형을 지원합니다. 지원되는 유형의 전체 목록을 보려면 컬렉션을 나타내는 모델 만들기 가이드의 MongoDB BSON 필드 섹션을 참조하세요.

BSON 데이터 유형
현재 지원

Object


임베디드 모델과 다형성 임베디드 모델을 사용하여 객체를 나타낼 수 있습니다. EmbeddedModelField 필드를 사용하는 경우 다음과 같은 제한이 적용됩니다.
* 외래 키 필드는 지원되지 않습니다.
* 임의 또는 유형이 지정되지 않은 임베디드 모델 필드는 지원되지 않습니다. 모든 필드는 EmbeddedModel 클래스에서 파생되어야 합니다.

MongoDB 기능
현재 지원

집계 작업

부분적으로 지원됩니다. 장고 MongoDB 백엔드에는 MongoDB 집계 프레임워크에 대한 사용자 지정 Django 필드 조회가 포함되어 있지 않지만, raw_aggregate() 메서드를 사용할 수 있습니다.

MongoDB 검색 쿼리

삭제 작업

지리공간 쿼리


GIS QuerySet API에서 다음 지리 공간 검색을 사용할 수 있습니다.
* contains
* disjoint
* distance_gt
* distance_lte
* dwithin
* intersects
* within

다른 지리 공간 쿼리의 경우에는 raw_aggregate() 메서드를 사용합니다.

삽입 작업

읽기 작업

업데이트 작업

MongoDB Vector Search 검색 쿼리

MongoDB 기능
현재 지원

비동기 지원

인증

캐시된 데이터 저장

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

변경 스트림

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

클라이언트 사이드 필드 레벨 암호화

지원되지 않습니다.

컬렉션 상호 작용

데이터베이스 상호 작용

GridFS.

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

하나 컬렉션 에 대한 여러 모델

지원되지 않습니다.

Queryable Encryption

문서 표현


모델을 사용하여 MongoDB 문서를 나타냅니다.

스키마 유효성 검사

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

시계열 데이터

트랜잭션


Django MongoDB Backend의 사용자 지정 트랜잭션 API는 다음과 같은 제한사항이 있습니다.
* QuerySet.union() 은 트랜잭션 내에서 지원되지 않습니다.
* 저장점 또는 중청 아토믹 블록은 지원되지 않습니다. 가장 밖쪽 아토믹 블록이 트랜잭션을 시작하며, 이후 아토믹 블록은 아무런 영향을 미치지 않습니다.
* MongoDB 배포서버는 복제본 세트 또는 샤딩된 클러스터여야 합니다.

이 섹션은 Django MongoDB 백엔드가 다양한 Django 기능을 지원하는지 여부를 나타냅니다.

Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 Django 필드를 지원합니다. 지원되는 필드의 전체 목록을 보려면 모델 생성 가이드 의 장고 필드 섹션을 참조하세요.

Django 필드 유형
현재 지원

AutoField

지원되지 않습니다. BigAutoFieldSmallAutoField 유형도 지원되지 않습니다. 대신 ObjectIdAutoField를 사용합니다.

CompositePrimaryKey

지원되지 않습니다.

DateTimeField


DateTimeField 값에 대한 마이크로초 세분성은 지원되지 않습니다.

DurationField


DurationField 은 마이크로초가 아닌 밀리초를 저장합니다.

ForeignKey

부분적으로 지원됩니다. 이 필드 유형은 다음과 같은 제한 사항이 있지만 사용할 수 있습니다.

  • $lookup 작업을 사용하지 않으려면 가능하면 ForeignKey 필드 대신 EmbeddedModelField 을(를) 사용해야 합니다. EmbeddedModelField 는 MongoDB 내장된 문서 에뮬레이션하며 ForeignKey 필드 보다 성능이 뛰어납니다. 작업을 줄이는 방법에 $lookup 대해 자세히 학습 Atlas 문서에서 $lookup 작업 줄이기 가이드 참조하세요.

  • ForeignKey 필드 에서CASCADE deletes 의 성능은 EmbeddedModelField를 사용하는 것만큼 성능이 좋지 않습니다.

GeneratedField

지원되지 않습니다.

JSONField

부분적으로 지원됩니다. 이 필드 유형은 다음과 같은 제한 사항이 있지만 사용할 수 있습니다.

  • 장고 MongoDB 백엔드는 JSON 과 SQL null 값을 구분할 수 없습니다. Value(None, JSONField()) 또는 isnull 조회를 사용하는 쿼리는 JSON 및 SQL null 값을 모두 반환합니다.

  • Q(value__foo="bar")와 같이 Q 객체가 포함된 일부 쿼리는 예상대로 작동하지 않을 수 있습니다.

  • None 값을 잘못 필터링하면 필드 존재하지 않는 객체가 반환됩니다.

Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 Django QuerySet 메서드를 지원합니다. 지원되는 메서드를 보려면 장고 문서에서 QuerySet API 참조하세요.

Django QuerySet 기능
현재 지원

delete()


이 방법을 사용하여 여러 컬렉션에 걸친 쿼리를 수행할 수 없습니다.

extra()

지원되지 않습니다.

패턴 일치 조회


이러한 검색은 string 필드를 쿼리하는 데에만 사용할 수 있습니다.
패턴 일치 검색은 iexact, startswith, istartswith, endswith, iendswith, contains, icontains, regex, iregex입니다.

prefetch_related()

지원되지 않습니다.

raw()

지원되지 않습니다. 그러나 raw_aggregate() 메서드를 사용하여 MongoDB의 집계 파이프라인 구문을 사용하는 쿼리를 실행 수 있습니다.

select_for_update()

지원되지 않습니다.

update()


이 방법을 사용하여 여러 컬렉션에 걸친 쿼리를 수행할 수 없습니다.

Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 데이터베이스 기능을 지원합니다. 전체 함수 목록을 보려면 Django 문서에서 데이터베이스 함수 를 참조하세요.

장고 함수
현재 지원

Chr

지원되지 않습니다.

ExtractQuarter

지원되지 않습니다.

MD5

지원되지 않습니다.

Ord

지원되지 않습니다.

Pad

지원되지 않습니다.

Repeat

지원되지 않습니다.

Reverse

지원되지 않습니다.

Right

지원되지 않습니다.

SHA1, SHA224, SHA256, SHA384, SHA512

지원되지 않습니다.

Sign

지원되지 않습니다.

StringAgg

지원되지 않습니다.

Trunc

부분적으로 지원됩니다. tzinfo TruncDate 및 데이터베이스 함수의 매개 변수는 지원되지 TruncTime 않습니다.

장고 기능
현재 지원

장고 관리자

장고 인증

GeoDjango

부분적으로 지원됩니다. 이 웹 프레임워크 다음과 같은 제한 사항이 적용됩니다.

  • GIS 애그리게이션 함수와 지리 데이터베이스 함수는 지원되지 않습니다.

  • MongoDB 이외의 공간 참조 시스템 식별자를 지원 하지 4326 않습니다.

  • RasterField 은(는) 지원되지 않습니다.

장고 MongoDB 백엔드는 장고 양식을 지원하지만 PolymorphicEmbeddedModelFieldPolymorphicEmbeddedModelArrayField 은 양식에 표시되지 않습니다.

Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 관리 명령을 지원합니다. 전체 명령 목록을 보려면 Django 문서에서 사용 가능한 명령을 참조하세요.

장고 명령
현재 지원

createcachetable

지원되지 않습니다.

dumpdata

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

inspectdb

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

loaddata

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다.

장고 기능
현재 지원

마이그레이션 명령을 통한 인덱스 생성, 삭제 및 업데이트

부분적으로 지원됩니다. 포함된 모델 또는 배열 필드의 인덱스는 업데이트 할 수 없습니다.

지원되지 않습니다.

migrate --fake-initial 옵션

지원되지 않습니다.

임베디드 모델을 위한 마이그레이션

부분적으로 지원됩니다. 마이그레이션 명령은 임베디드 모델 필드 또는 PolymorphicEmbeddedModelField 또는 PolymorphicEmbeddedModelArrayField에서 참조하는 임베디드 모델에 대한 변경 사항을 감지하지 못합니다.

라이브러리
현재 지원

부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습 D장고 MongoDB CLI 문서에서 장고 필터하다 참조하세요.

부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습하려면 Django MongoDB CLI 문서에서 Django rest 프레임워크 를 참조하세요.

부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습하려면 Django MongoDB CLI 문서에서 Django allauth 를 참조하세요.

부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습 Django MongoDB CLI 문서에서 Django 디버그 도구 모음을 참조하세요.