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

장고와 MongoDB 기능 호환성

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

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

작업
성능 참고 사항

$expr 연산

연산자 사용하는 쿼리는 $expr 사용할 인덱스 예측할 수 없는 경우가 많고 컬렉션 스캔 수행하므로 연산자 가 느리게 실행 수 있습니다.QuerySet in 조회를 지정하는 쿼리와 같은 일부 작업은 $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 클래스에서 모든 필드를 파생해야 합니다.

Regular Expression

지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 유형을 지원 계획입니다.

MongoDB 기능
현재 지원

집계 작업

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

MongoDB 검색 쿼리

삭제 작업

지리공간 쿼리


GIS QuerySet API 대신 raw_aggregate() 메서드를 사용하여 지리 공간적 쿼리를 실행 .

삽입 작업

읽기 작업

업데이트 작업

MongoDB Vector Search 검색 쿼리

MongoDB 기능
현재 지원

비동기 지원

인증

캐시된 데이터 저장

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

변경 스트림

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

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

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

컬렉션 상호 작용

데이터베이스 상호 작용

GridFS.

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

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

지원되지 않습니다.

문서 표현


모델을 사용하여 MongoDB 문서를 표현합니다.

스키마 유효성 검사

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

시계열 데이터

트랜잭션


다음과 같은 제한 사항이 있는 Django MongoDB 백엔드의 사용자 지정 트랜잭션 API 사용할 수 있습니다.
* QuerySet.union() 은 트랜잭션 내에서 지원되지 않습니다.
* 세이브포인트 또는 중첩된 원자 블록은 지원되지 않습니다. 가장 바깥쪽 원자 차단 트랜잭션 을 시작하고 후속 원자 블록은 영향을 미치지 않습니다.
* MongoDB deployment 복제본 세트 또는 샤딩된 클러스터 여야 합니다.

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

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

Django 필드 유형
현재 지원

AutoField

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

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()


이 메서드는 여러 컬렉션에 걸쳐 있는 쿼리를 수행하는 데 사용할 수 없습니다.

difference()

지원되지 않습니다.

extra()

지원되지 않습니다.

intersection()

지원되지 않습니다.

패턴 일치 조회


이러한 조회는 문자열 필드를 쿼리 데만 사용할 수 있습니다.
패턴 일치 iexact startswithistartswithendswithiendswithcontainsicontains조회는,,,,,,, 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

지원되지 않습니다.

Trunc

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

장고 기능
현재 지원

장고 관리자

장고 인증

GeoDjango

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

  • GIS QuerySet API 지원되지 않습니다.

  • 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 디버그 도구 모음을 참조하세요.