Thanks to visit codestin.com
Credit goes to www.mongodb.com

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

장고와 MongoDB 기능 호환성

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

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

작업
성능 참고 사항

$expr 연산

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.

$lookup 연산

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.

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

MongoDB 기능
현재 지원

Atlas search 인덱스

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

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

Atlas Vector Search 인덱스

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

복합 인덱스

내장된 문서 인덱스

지리 공간적 인덱스

Multikey 인덱스

부분 인덱스

단일 필드 인덱스

Unique indexes

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

지원되지 않습니다.

EmbeddedModelArrayField 인덱스

PolymorphicEmbeddedModelFieldPolymorphicEmbeddedModelArrayField 인덱스

지원되지 않습니다.

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

BSON 데이터 유형
현재 지원

Object

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.

Regular Expression

지원되지 않습니다. 그러나 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 MongoDB 백엔드가 다양한 Django 기능을 지원하는지 여부를 나타냅니다.

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

Django 필드 유형
현재 지원

AutoField

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

CompositePrimaryKey

지원되지 않습니다.

DateTimeField

Microsecond granularity for DateTimeField values is not supported.

DurationField

DurationField stores milliseconds rather than microseconds.

ForeignKey

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

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

  • ForeignKey 필드 에 대한 CASCADE 삭제 성능은 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()

You cannot use this method to perform queries that span multiple collections.

extra()

지원되지 않습니다.

패턴 일치 조회

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

prefetch_related()

지원되지 않습니다.

raw()

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

update()

You cannot use this method to perform queries that span multiple collections.

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

장고 함수
현재 지원

Chr

지원되지 않습니다.

ExtractQuarter

지원되지 않습니다.

MD5

지원되지 않습니다.

Now

지원되지 않습니다.

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

돌아가기

트랜잭션

이 페이지의 내용