개요
이 페이지에서는 Django MongoDB 백엔드에서 지원되는 기능과 지원되지 않는 기능에 대한 정보를 찾을 수 있습니다. 현재 향후 릴리스를 위해 계획된 기능도 찾을 수 있습니다. 사용자 요구에 따라 향후 기능에 우선순위를 부여하며, JIRA 문제를 생성하여기능에 대한 지원 요청 수 있습니다.
성능 제한
장고 MongoDB 백엔드는 다음 작업을 지원하지만 성능이 떨어질 수 있습니다.
작업 | 성능 참고 사항 |
---|---|
| Queries that use the $expr operator might run slowly, since
this operator often cannot predict which index to use and performs
a collection scan. Some QuerySet operations, such as queries that
specify an in lookup, use $expr to evaluate the query results and
experience degraded performance.We plan to address this performance issue in a
post-GA release. |
| Queries that use the $lookup operator might run slowly.
To improve performance, we recommend that you use embedded
models instead of the $lookup operator when possible.
To learn more about how to reduce $lookup operations, see the Reduce $lookup Operations guide in the MongoDB Atlas
documentation. |
MongoDB 기능
이 섹션은 Django MongoDB 백엔드가 다양한 MongoDB 기능을 지원하는지 여부를 나타냅니다.
인덱스 지원
MongoDB 기능 | 현재 지원 |
---|---|
Atlas search 인덱스 | |
Atlas Vector Search 인덱스 | 부분적으로 지원됩니다. 장고 MongoDB 백엔드를 사용하여 인덱스 이름, 인덱스 할 필드 및 유사성 함수를 지정하는 기본 Atlas Vector Search 인덱스를 만들 수 있습니다. 다른 모든 인덱스 정의 필드 는 지원되지 않습니다. |
복합 인덱스 | ✓ |
내장된 문서 인덱스 | ✓ |
지리 공간적 인덱스 | ✓ |
Multikey 인덱스 | ✓ |
부분 인덱스 | ✓ |
단일 필드 인덱스 | ✓ |
Unique indexes | ✓ |
모델 생성 후 임베디드 모델 인덱스 업데이트 | 지원되지 않습니다. |
| ✓ |
| 지원되지 않습니다. |
데이터 유형 지원
Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 MongoDB 데이터 유형을 지원합니다. 지원되는 유형의 전체 목록을 보려면 모델 생성 가이드 의 MongoDB BSON 필드 섹션을 참조하세요.
BSON 데이터 유형 | 현재 지원 |
---|---|
| ✓ You can use embedded models and polymorphic embedded models to represent objects.
If you are using the EmbeddedModelField field, the following
limitations apply:
- Foreign key fields are not supported.
- Arbitrary or untyped embedded model fields are not supported. You must
derive all fields from an EmbeddedModel class. |
| 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 유형을 지원 계획입니다. |
쿼리 지원
MongoDB 기능 | 현재 지원 |
---|---|
집계 작업 | 부분적으로 지원됩니다. 장고 MongoDB 백엔드에는 MongoDB 집계 프레임워크에 대한 사용자 지정 Django 필드 조회가 포함되어 있지 않지만, raw_aggregate() 메서드를 사용할 수 있습니다. |
Atlas Search 쿼리 | ✓ |
삭제 작업 | ✓ |
지리공간 쿼리 | ✓ Use the raw_aggregate() method
to run geospatial queries instead of the GIS QuerySet API. |
삽입 작업 | ✓ |
읽기 작업 | ✓ |
업데이트 작업 | ✓ |
벡터 검색 쿼리 | ✓ |
데이터베이스 및 컬렉션 지원
MongoDB 기능 | 현재 지원 |
---|---|
비동기 지원 | ✓ |
인증 | ✓ |
캐시된 데이터 저장 | 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
변경 스트림 | 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
클라이언트 사이드 필드 레벨 암호화 및 Queryable Encryption | 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
컬렉션 상호 작용 | ✓ |
데이터베이스 상호 작용 | ✓ |
GridFS. | 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
하나 컬렉션 에 대한 여러 모델 | 지원되지 않습니다. |
문서 표현 | ✓ Use models to represent MongoDB documents. |
스키마 유효성 검사 | 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
시계열 데이터 | ✓ |
트랜잭션 | ✓ You can use Django MongoDB Backend's custom transactions API with the
following limitations:
- QuerySet.union() is not supported within a transaction.
- Savepoints, or nested atomic blocks, are not supported. The outermost atomic block starts
a transaction, and any subsequent atomic blocks have no effect.
- Your MongoDB deployment must be a replica set or sharded cluster. |
Django 기능
이 섹션은 Django MongoDB 백엔드가 다양한 Django 기능을 지원하는지 여부를 나타냅니다.
필드 지원
Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 Django 필드를 지원합니다. 지원되는 필드의 전체 목록을 보려면 모델 생성 가이드 의 장고 필드 섹션을 참조하세요.
Django 필드 유형 | 현재 지원 |
---|---|
| 지원되지 않습니다. |
| 지원되지 않습니다. |
| ✓ Microsecond granularity for DateTimeField values is not supported. |
| ✓ DurationField stores milliseconds rather than microseconds. |
| 부분적으로 지원됩니다. 이 필드 유형은 다음과 같은 제한 사항이 있지만 사용할 수 있습니다.
|
| 지원되지 않습니다. |
| 부분적으로 지원됩니다. 이 필드 유형은 다음과 같은 제한 사항이 있지만 사용할 수 있습니다.
|
쿼리 지원
Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 Django QuerySet
메서드를 지원합니다. 지원되는 메서드를 보려면 장고 문서에서 QuerySet API 참조하세요.
Django QuerySet 기능 | 현재 지원 |
---|---|
| ✓ You cannot use this method to perform
queries that span multiple collections. |
| 지원되지 않습니다. |
패턴 일치 조회 | ✓ You can only use these lookups to query string fields. The pattern-matching lookups are iexact , startswith , istartswith ,
endswith , iendswith , contains , icontains , regex , and
iregex |
| 지원되지 않습니다. |
| 지원되지 않습니다. 그러나 |
| ✓ You cannot use this method to perform
queries that span multiple collections. |
데이터베이스 기능 지원
Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 데이터베이스 기능을 지원합니다. 전체 함수 목록을 보려면 Django 문서에서 데이터베이스 함수 를 참조하세요.
Contrib 앱 지원
장고 기능 | 현재 지원 |
---|---|
장고 관리자 | ✓ |
장고 인증 | ✓ |
GeoDjango | 부분적으로 지원됩니다. 이 웹 프레임워크 다음과 같은 제한 사항이 적용됩니다.
|
양식 지원
장고 MongoDB 백엔드는 장고 양식을 지원하지만 PolymorphicEmbeddedModelField
및 PolymorphicEmbeddedModelArrayField
은 양식에 표시되지 않습니다.
관리 명령 지원
Django MongoDB 백엔드는 현재 다음 표에 포함되지 않은 모든 관리 명령을 지원합니다. 전체 명령 목록을 보려면 Django 문서에서 사용 가능한 명령을 참조하세요.
장고 명령 | 현재 지원 |
---|---|
| 지원되지 않습니다. |
| 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
| 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
| 지원되지 않습니다. 그러나 GA 이후 출시하다 에서 이 기능 에 대한 지원 추가할 계획입니다. |
마이그레이션 지원
장고 기능 | 현재 지원 |
---|---|
마이그레이션 명령을 통한 인덱스 생성, 삭제 및 업데이트 | 부분적으로 지원됩니다. 포함된 모델 또는 배열 필드의 인덱스는 업데이트 할 수 없습니다. |
지원되지 않습니다. | |
| 지원되지 않습니다. |
임베디드 모델을 위한 마이그레이션 | 부분적으로 지원됩니다. 마이그레이션 명령은 임베디드 모델 필드 또는 |
타사 라이브러리 지원
라이브러리 | 현재 지원 |
---|---|
부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습 D장고 MongoDB CLI 문서에서 장고 필터하다 참조하세요. | |
부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습하려면 Django MongoDB CLI 문서에서 Django rest 프레임워크 를 참조하세요. | |
부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습하려면 Django MongoDB CLI 문서에서 Django allauth 를 참조하세요. | |
부분적으로 지원됩니다. 이 라이브러리의 사용 사례 및 제한 사항에 대해 자세히 학습 Django MongoDB CLI 문서에서 Django 디버그 도구 모음을 참조하세요. |