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

장고와 MongoDB 기능 호환성

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

이 섹션에서는 Django MongoDB 백엔드가 다양한 MongoDB 기능을 지원하는지, GA 출시하다 에서 어떤 기능을 지원 예정인지 설명합니다.

중요

예정된 GA 지원 열에 확인 표시() 기호가 있는 지원되지 않는 MongoDB 기능은 2025 후반에 정식 출시하다 예정입니다. 그러나 지원 보장되지는 않습니다.

MongoDB 기능
현재 지원
계획된 GA 지원

Atlas Search 및 Atlas Vector Search 인덱스

복합 인덱스

내장된 문서 인덱스

지리 공간적 인덱스

지원되지 않습니다. 장고 인덱스 API 사용하여 이러한 인덱스를 생성할 수는 없지만, MongoClient를 노출하여PyMongo 드라이버 사용할 수 있습니다.

Multikey 인덱스

부분 인덱스

단일 필드 인덱스

Unique indexes

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

지원되지 않습니다.

EmbeddedModelArrayField 인덱스

지원되지 않습니다.

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

BSON 데이터 유형
현재 지원
계획된 GA 지원

Array

부분적으로 지원됩니다.ArrayField 필드 유형을 사용할 수 있지만 ArrayField 다형성은 지원되지 않습니다.

Object

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

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

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

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

부분 지원 예정. 생성 후 EmbeddedModel 스키마 변경 사항을 등록하는 지원 추가할 계획입니다.

Regular Expression

지원되지 않습니다.

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

MongoDB 기능
현재 지원
계획된 GA 지원

집계 작업

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

전체 지원은 예정되어 있지 않습니다. 그러나 GA 이후 출시하다 에서 MongoDB 집계 연산자에 대한 지원 추가할 계획입니다.

Atlas Search 쿼리

부분적으로 지원됩니다. 장고 QuerySet API 사용하여 Atlas Search 쿼리를 실행 수는 없지만, raw_aggregate() 메서드는 사용할 수 있습니다.

삭제 작업

지리공간 쿼리

부분적으로 지원됩니다. 장고 QuerySet 또는 GeoDjango API 사용하여 지리 공간적 쿼리를 실행 수는 없지만, raw_aggregate() 메서드는 사용할 수 있습니다.

삽입 작업

읽기 작업

업데이트 작업

벡터 검색 쿼리

부분적으로 지원됩니다. Django QuerySet API 사용하여 벡터 검색 쿼리를 실행 수는 없지만, raw_aggregate() 메서드는 사용할 수 있습니다.

MongoDB 기능
현재 지원
계획된 GA 지원

비동기 지원

인증

캐시된 데이터 저장

✓ 장고의 내장 데이터베이스 캐시 백엔드 django.core.cache.backends.db.DatabaseCache 대신 django_mongodb_backend.cache.MongoDBCache 백엔드 사용합니다.

변경 스트림

지원되지 않습니다.

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

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

지원되지 않습니다.

컬렉션 상호 작용

데이터베이스 상호 작용

GridFS.

지원되지 않습니다.

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

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

지원되지 않습니다.

문서 표현

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

스키마 유효성 검사

지원되지 않습니다.

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

시계열 데이터

트랜잭션

지원되지 않습니다.

이 섹션에서는 Django MongoDB 백엔드가 다양한 Django 기능을 지원하는지, GA 출시하다 에서 어떤 기능을 지원 계획인지 설명합니다.

중요

일반 가용성 지원 열에 확인 표시() 기호가 있는 지원되지 않는 Django 기능은 2025 후반의 GA 출시하다 에 추가될 예정입니다. 그러나 지원 보장되지는 않습니다.

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

Django 필드 유형
현재 지원
계획된 GA 지원

AutoField

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

지원되지 않습니다.

CompositePrimaryKey

지원되지 않습니다.

지원되지 않습니다.

DateTimeField

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

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

전체 지원은 예정되어 있지 않습니다.

DurationField

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

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

전체 지원은 예정되어 있지 않습니다.

ForeignKey

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

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

  • 필드 ForeignKey EmbeddedModelField에서 을 삭제하는 캐스케이드의 성능은 를 사용하는 것만큼 성능이 떨어집니다.

전체 지원은 예정되어 있지 않습니다.

GeneratedField

지원되지 않습니다.

지원되지 않습니다.

JSONField

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

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

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

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

전체 지원은 예정되어 있지 않습니다. 그러나 GA 이후 출시하다 에서 Q 객체 및 None 키 필터링 제한 사항을 주소 계획입니다.

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

Django QuerySet 기능
현재 지원
계획된 GA 지원

delete()

부분적으로 지원됩니다. 이 메서드를 사용하여 여러 컬렉션에 걸쳐 있는 쿼리를 수행할 수 없습니다.

전체 지원은 예정되어 있지 않습니다.

extra()

지원되지 않습니다.

지원되지 않습니다.

prefetch_related()

지원되지 않습니다.

지원되지 않습니다.

raw()

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

전체 지원은 예정되어 있지 않습니다.

update()

부분적으로 지원됩니다. 이 메서드를 사용하여 여러 컬렉션에 걸쳐 있는 쿼리를 수행할 수 없습니다.

전체 지원은 예정되어 있지 않습니다.

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

장고 함수
현재 지원
계획된 GA 지원

Chr

지원되지 않습니다.

지원되지 않습니다.

ExtractQuarter

지원되지 않습니다.

지원되지 않습니다.

MD5

지원되지 않습니다.

지원되지 않습니다.

Now

지원되지 않습니다.

지원되지 않습니다.

Ord

지원되지 않습니다.

지원되지 않습니다.

Pad

지원되지 않습니다.

지원되지 않습니다.

Repeat

지원되지 않습니다.

지원되지 않습니다.

Reverse

지원되지 않습니다.

지원되지 않습니다.

Right

지원되지 않습니다.

지원되지 않습니다.

SHA1, SHA224, SHA256, SHA384, SHA512

지원되지 않습니다.

지원되지 않습니다.

Sign

지원되지 않습니다.

지원되지 않습니다.

Trunc

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

전체 지원은 예정되어 있지 않습니다.

장고 기능
현재 지원
계획된 GA 지원

장고 관리자

Django 양식

장고 인증

관리 명령

부분적으로 지원됩니다. 지원되지 않는 명령을 보려면 다음 섹션을참조하세요.

전체 지원은 예정되어 있지 않습니다.

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

장고 명령
현재 지원
계획된 GA 지원

createcachetable

지원되지 않습니다. 대신 Django MongoDB 백엔드의 createcachecollection 명령을 사용하세요.

지원되지 않습니다.

dumpdata

지원되지 않습니다.

inspectdb

지원되지 않습니다.

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

loaddata

지원되지 않습니다.

sqlflush

지원되지 않습니다.

지원되지 않습니다.

sqlsequencereset

지원되지 않습니다.

지원되지 않습니다.

장고 기능
현재 지원
계획된 GA 지원

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

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

전체 지원은 예정되어 있지 않습니다.

지원되지 않습니다.

지원되지 않습니다.

migrate --fake-initial 옵션

지원되지 않습니다.

지원되지 않습니다.

라이브러리
현재 지원
계획된 GA 지원

부분적으로 지원됩니다. 대부분의 사용 사례가 지원됩니다.

부분적으로 지원됩니다. 이 출시하다 에서는 사용 사례 제한 사항에 대해 간략하게 설명합니다.

부분적으로 지원됩니다. 대부분의 사용 사례가 지원됩니다.

부분적으로 지원됩니다. 이 출시하다 에서는 사용 사례 제한 사항에 대해 간략하게 설명합니다.

부분적으로 지원됩니다. 대부분의 사용 사례가 지원됩니다.

부분적으로 지원됩니다. 이 출시하다 에서는 사용 사례 제한 사항에 대해 간략하게 설명합니다.

부분적으로 지원됩니다. 대부분의 사용 사례가 지원됩니다.

부분적으로 지원됩니다. 이 출시하다 에서는 사용 사례 제한 사항에 대해 간략하게 설명합니다.

돌아가기

원시 쿼리 수행

이 페이지의 내용