Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Diango MongoDBバックエンド

制限事項と今後の機能

このページでは、Diango MongoDBバックエンドがサポートしていない機能のリストを見つけることができます。また、一般提供(GA)および GA 後リリースで現在計画されている機能を見つけることもできます。ユーザーのリクエストに基づいて、これらの今後の機能を優先します。機能のサポートは が JIRA 問題を作成することでリクエストできます。

このセクションでは、サポートされていない次のタイプの Diango およびMongoDB の機能について学習できます。

  • トランザクションマネジメント

  • モデルの制限

  • クエリの制限

  • サポートされていない管理コマンド

  • 移行の制限

  • キャッシュ

  • パフォーマンス

クエリの実行では、Diango と MongoDB のデフォルトの動作である オートコミットモードが使用されます。各クエリは、データベースにすぐにコミットされます。

Dpango のトランザクション管理 API はサポートされていません。

Dlango は、わずかに異なるモデルが同じコレクションを共有する MongoDB の多形パターンをサポートしていません。

Dlango MongoDBバックエンドは次のインデックス機能をサポートしていません。

  • Diango Indexes APIを使用した $vectorSearch$search インデックスの作成

  • Diango Indexes APIによる地理空間インデックスの作成

  • モデル作成後に EmbeddedModelFields でインデックスを更新しています

Dpango MongoDBバックエンドでは、指定されるフィールド型に次の制限があります。

  • ArrayField

    • ArrayField 多形データはサポートされていません。

    • ArrayField 内にネストされた EmbeddedModelField 値はサポートされていません。

  • EmbeddedModelField

    • EmbeddedModel スキーマの変更は作成後に登録されません。

    • 埋め込みドキュメントは Diango 外部キーを取ることができません。

    • 任意の埋め込みモデルフィールドまたは型なしの埋め込みモデルフィールドはサポートされていません。すべてのフィールドは EmbeddedModelクラスから派生する必要があります。

  • JSONField

    • Dlango MongoDBバックエンドは、 JSONとSQL null 値を区別できません。 Value(None, JSONField()) または isnull ルックアップを使用するクエリでは、 JSONとSQL null 値の両方が返されます。

    • Q(value__foo="bar") などの Q オブジェクトを含む一部のクエリは、通常どおりに動作しない可能性があります。

    • None 値をフィルタリングすると、フィールドが存在しないオブジェクトが誤って返されます。

  • DateTimeField

    • DateTimeField 値のマイクロ秒粒度はサポートされていません。

  • DurationField

    • DurationField は、マイクロ秒ではなく、ミリ秒を保存します。

  • ForeignKey

    • 可能であれば、$lookup 操作を使用しないように、ForeignKeyフィールドではなく EmbeddedModelField を使用する必要があります。 EmbeddedModelField はMongoDB埋め込みドキュメントをエミュレートし、パフォーマンスが ForeignKeyフィールドよりも向上します。 操作を削減する方法の詳細については、Atlas ドキュメントの「 $lookup 操作の削減 」ガイドを参照してください。$lookup

    • フィールドでの CASCAD 削除のパフォーマンスは、 ForeignKeyEmbeddedModelFieldを使用する場合ほどパフォーマンスが良くありません。

次のフィールド型は Diango MongoDBバックエンドでは 使用できません 。

  • GeneratedField

  • AutoFieldBigAutoFieldSmallAutoField を含む)

Dlango MongoDBバックエンドは次の QuerySet APIメソッドをサポートしていません。

  • prefetch_related()

  • extra()

Dlango MongoDBバックエンドでは、複数のコレクションにまたがる QuerySet.delete() クエリと update() クエリをサポートしていません。

Dlango MongoDBバックエンドは、次の地理空間クエリ機能をサポートしていません。

  • GeoDjango

  • MongoDB固有の地理空間クエリ用の Dlango lookup 演算子

Dlango MongoDBバックエンドには、 MongoDB集計フレームワークのカスタム Diangoフィールドルックアップは含まれていません。代わりに、raw_aggregate() メソッドを使用してください。「未加工データベースクエリの実行」ガイドを参照してください。

Dlango MongoDBバックエンドは次のデータベース関数をサポートしていません。

  • Chr

  • ExtractQuarter

  • MD5

  • Now

  • Ord

  • Pad

  • Repeat

  • Reverse

  • Right

  • SHA1, SHA224, SHA256, SHA384, SHA512

  • Sign

  • The tzinfo parameter of the TruncDate and TruncTime database functions isn't supported.

次の django-admin コマンドはサポートされていません。

  • createcachetable (「キャッシュ」を参照してください)

  • inspectdb

Dlango MongoDBバックエンドは、次の移行機能をサポートしていません。

データベース キャッシュでは、 MongoDBSQL。createcachecollectioncreatecachetable

次に、Diango の組み込みデータベースキャッシュバックエンド(django.core.cache.backends.db.DatabaseCache)ではなく、django_mongodb_backend.cache.MongoDBCacheバックエンドを使用する必要があります。

エンジニアリングチームは、Diango MongoDBバックエンドのパブリック プレビュー リリースの機能開発を優先しています。このため、特定のワークロードではパフォーマンスの制限が生じる場合があります。パフォーマンスの問題が発生した場合は、問題とヘルプガイドに示されているように報告してください。

このセクションでは、GA および GA 後のMongoDBバックエンド リリースで導入される可能性が高い次のタイプの Diango とMongoDB の機能について学習できます。

GA リリースでは、次のMongoDB機能をサポートする予定です。

  • Dango API を使用した、ベクトル検索、Atlas Search、および地理空間インデックスのプログラムによる管理

  • Dpango API を使用したベクトル検索、Atlas Search、および地理空間クエリ

  • Queryable Encryptionとクライアント側フィールドレベルの暗号化

  • データベース トランザクション

今後の GA 以降のリリースでは、次のMongoDB機能をサポートする予定です。

  • 大規模なファイルストレージ用のGridFS

  • データモニタリングのための変更ストリーム

  • スキーマ検証

Tip

このセクションで述べられたMongoDB の機能について詳しくは、次のリソースを参照してください。

GA リリースでは、次のモデル機能をサポートする予定です。

  • 埋め込みドキュメントの配列

  • 多形埋め込みドキュメントと配列

  • 埋め込みモデルスキーマへの変更を適用して EmbeddedModelField

  • コレクション内の複数のモデル

  • 埋め込みモデルにおける形式表現の改善

将来の GA 以降のリリースでは、BSONRegExpデータ型のカスタム モデルフィールドを追加する予定です。

EmbeddedModelField の直列化サポート(Diango の dumpdata および loaddata マネジメント コマンド)は、GA リリースによって追加されます。

GA リリースまでに、次のサードパーティ ライブラリとの互換性をテストする予定です。

戻る

トランザクション

項目一覧