Docs Menu
Docs Home
/ /
장고 MongoDB 백엔드

제한 사항 및 향후 기능

이 페이지에서는 Django MongoDB 백엔드가 지원 하지 않는 기능 목록을 찾을 수 있습니다. 현재 정식 출시(GA) 및 GA 이후 릴리스를 위해 계획된 기능도 찾을 수 있습니다. 사용자 요구에 따라 향후 기능에 우선순위를 부여하며, JIRA 문제를 생성하여기능에 대한 지원 요청 수 있습니다.

이 섹션에서는 다음과 같은 유형의 지원되지 않는 장고 및 MongoDB 기능에 대해 학습 수 있습니다.

쿼리 실행은 장고 및 MongoDB의 기본값 동작인 자동 커밋 모드 사용합니다. 각 쿼리 즉시 데이터베이스 에 커밋됩니다.

장고의 트랜잭션 관리 API는 지원되지 않습니다.

장고는 약간 다른 모델이 동일한 컬렉션 주식 MongoDB의 다형성 패턴 지원 하지 않습니다.

Django MongoDB 백엔드는 다음 인덱스 기능을 지원 하지 않습니다.

  • 장고 인덱스 API 통해 $vectorSearch$search 인덱스 만들기

  • 장고 인덱스 API 통해 지리 공간적 인덱스 만들기

  • 모델 생성 후 EmbeddedModelFields 의 인덱스 업데이트

장고 MongoDB 백엔드에는 지정된 필드 유형에 대해 다음과 같은 제한 사항이 있습니다.

  • ArrayField

    • ArrayField 다형성은 지원되지 않습니다.

    • ArrayField 내에 중첩된 EmbeddedModelField 값은 지원되지 않습니다.

  • EmbeddedModelField

    • EmbeddedModel 스키마 변경 사항은 생성 후 등록되지 않습니다.

    • 내장된 문서는 Django 외래 키를 사용할 수 없습니다.

    • 임의 또는 유형이 지정되지 않은 임베디드 모델 필드는 지원되지 않습니다. 모든 필드는 EmbeddedModel 클래스에서 파생되어야 합니다.

  • JSONField

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

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

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

  • DateTimeField

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

  • DurationField

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

  • ForeignKey

다음 필드 유형은 Django MongoDB 백엔드에서 사용할 수 없습니다.

  • GeneratedField

  • AutoField (BigAutoFieldSmallAutoField 포함)

장고 MongoDB 백엔드는 다음 QuerySet API 메서드를 지원 하지 않습니다.

  • distinct()

  • dates()

  • datetimes()

  • prefetch_related()

  • extra()

장고 MongoDB 백엔드는 여러 컬렉션에 걸쳐 있는 QuerySet.delete()update() 쿼리를 지원 하지 않습니다.

장고 MongoDB 백엔드는 다음과 같은 지리 공간적 쿼리 기능을 지원 하지 않습니다.

  • GeoDjango

  • MongoDB 전용 지리 지리 공간적 쿼리를 위한 장고 조회 연산자

장고 MongoDB 백엔드에는 MongoDB 집계 프레임워크 에 대한 사용자 지정 장고 필드 조회가 포함되어 있지 않습니다. 대신 raw_aggregate() 메서드를 사용합니다. 원시 데이터베이스 쿼리 수행 가이드 참조하세요.

장고 MongoDB 백엔드는 다음 데이터베이스 기능을 지원 하지 않습니다.

  • Chr

  • ExtractQuarter

  • MD5

  • Now

  • Ord

  • Pad

  • Repeat

  • Reverse

  • Right

  • SHA1, SHA224, SHA256, SHA384, SHA512

  • Sign

MongoDB 결과를 UTC로 다시 변환하기 때문에 Trunc 데이터베이스 함수의 tzinfo 매개 변수가 제대로 작동하지 않습니다.

다음 django-admin 명령은 지원되지 않습니다.

  • createcachetable

  • inspectdb

Django MongoDB 백엔드는 다음 마이그레이션 기능을 지원 하지 않습니다.

엔지니어링 팀 Django MongoDB 백엔드의 Public Preview 출시하다 위한 기능 개발을 우선시하고 있습니다. 이 때문에 특정 워크로드에서는 성능 제한이 발생할 수 있습니다. 성능 문제가 발생하면 문제 & 도움말 가이드에 표시된 대로 신고해 주세요.

이 섹션에서는 GA 및 GA 이후 Django MongoDB 백엔드 릴리스에 도입될 다음과 같은 유형의 Django 및 MongoDB 기능에 대해 학습 수 있습니다.

GA 출시하다 에서 다음과 같은 MongoDB 기능을 지원 계획입니다.

  • Django API 사용하여 Vector Search, Atlas Search 및 지리 공간적 인덱스를 프로그래밍 방식으로 관리 .

  • Django API 사용한 Vector Search, Atlas Search 및 지리 공간적 쿼리

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

  • 데이터베이스 트랜잭션

  • 데이터베이스 에 캐시된 데이터 저장

향후 GA 이후 릴리스에서 다음 MongoDB 기능을 지원 계획입니다.

  • 대용량 파일 저장 위한 GridFS

  • 데이터 모니터링 위한 변경 스트림

  • 스키마 유효성 검사

이 섹션에 언급된 MongoDB 기능에 대해 자세히 학습 다음 리소스를 참조하세요.

GA 출시하다 에서 다음 모델 기능을 지원 계획입니다.

  • 내장된 문서 배열

  • 다형성 내장된 문서 및 배열

  • 임베디드 모델 스키마 변경 사항을 EmbeddedModelField 값에 적용

  • 컬렉션 내의 여러 모델

  • 임베디드 모델의 양식 표현 개선

향후 GA 이후 출시하다 에서는 BSONRegExp 데이터 유형 에 대한 사용자 지정 모델 필드 추가할 계획입니다.

EmbeddedModelField에 대한 직렬화 지원 (예: 장고의 dumpdataloaddata 관리 명령)은 GA 출시하다 에 추가될 예정입니다.

GA 출시하다 까지 다음 타사 라이브러리와의 호환성을 테스트할 계획입니다.

돌아가기

원시 쿼리 수행

이 페이지의 내용