AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Dpango とMongoDB機能の互換性

このページでは、Diango MongoDBバックエンドでサポートされている機能とサポートされていない機能に関する情報を見つけることができます。現在、将来のリリースが予定されている機能を見つけることもできます。ユーザーのリクエストに基づいてこれらの今後の機能を優先します。JIRA 問題を作成する ことで機能のサポートをリクエストできます。

Dlango MongoDBバックエンドは次の操作をサポートしていますが、パフォーマンスが低下する可能性があります。

操作
パフォーマンス ノート

$expr 操作

$expr 演算子を使用するクエリは実行が遅くなる可能性があります。この演算子は使用するインデックスを予測できないことが多く、コレクションスキャンを実行します。in ルックアップを指定するクエリなどの一部の QuerySet 操作は、$expr を使用してクエリ結果を評価しますが、パフォーマンスが低下します。
GA 後のリリースで、このパフォーマンスの問題に対処する予定です。

$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.

このセクションでは、Diango MongoDBバックエンドがさまざまなMongoDB機能をサポートしているかどうかを示します。

MongoDB の機能
現在のサポート

検索インデックス

部分的にサポートされています。次の詳細インデックス定義フィールドはサポートされていません。

  • numPartitions

  • analyzers

  • storedSource

  • synonyms

  • typeSets

MongoDB は、一部のデータ型の検索インデックスをサポートしていません。サポートされていない型のリストを表示するには、MongoDB Atlasドキュメントのデータ型の制限を参照してください。

ベクトル検索インデックス

Partially Supported. You can use Django MongoDB Backend to create basic Vector Search indexes that specify an index name, the fields to index, and a similarity function. All other index definition fields are unsupported.

複合インデックス

✓

埋め込みドキュメントインデックス

✓

地理空間インデックス

✓

Multikey indexes

✓

部分インデックス

✓

単一フィールド インデックス

✓

Unique indexes

✓

モデル作成後の埋め込みモデル インデックスの更新

サポート対象外 。

EmbeddedModelArrayField indexes

✓

PolymorphicEmbeddedModelField および PolymorphicEmbeddedModelArrayField インデックス

サポート対象外 。

Dlango MongoDBバックエンドは現在、次の表に含まれていないすべてのMongoDBデータ型をサポートしています。サポートされているタイプの完全なリストを表示するには、ガイドの「 コレクションを表すモデルの作成 」の「 MongoDB BSONフィールド 」セクションを参照してください。

BSON データ型
現在のサポート

Object

✓
埋め込みモデルと多形埋め込みモデルを使用してオブジェクトを表すことができます。EmbeddedModelFieldフィールドを使用している場合、次の制限が適用されます。
* 外部キーフィールドはサポートされていません。
* 任意の埋め込みモデルフィールドまたは型なしの埋め込みモデルフィールドはサポートされていません。すべてのフィールドは EmbeddedModelクラスから派生する必要があります。

Regular Expression

サポート対象外 。ただし、GA 以降のリリースでこのタイプをサポートする予定です。

MongoDB の機能
現在のサポート

集計操作

部分的にサポートされています 。Dlango MongoDBバックエンドにはMongoDB集計フレームワークのカスタム Dlangoフィールドルックアップは含まれていませんが、 raw_aggregate() メソッドを使用できます。

MongoDB 検索クエリ

✓

削除操作

✓

地理空間クエリ

✓
GIS QuerySet API の代わりに raw_aggregate() メソッド を使用して地理空間クエリを実行します 。

挿入操作

✓

読み取り操作

✓

アップデート操作

✓

MongoDB ベクトル検索クエリ

✓

MongoDB の機能
現在のサポート

非同期サポート

✓

認証

✓

キャッシュされたデータストレージ

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

変更ストリーム

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

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

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

コレクションのインタラクション

✓

データベース インタラクション

✓

GridFS

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

1 つのコレクションに複数のモデル

サポート対象外 。

ドキュメントの表現

✓
モデルを使用して MongoDB ドキュメントを表す。

スキーマ検証

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

時系列データ

✓

トランザクション

✓
Django MongoDB バックエンド のカスタム トランザクション API は、次の制限の範囲内で使用できます。
* QuerySet.union() はトランザクション内ではサポートされません。
* セーブポイント、つまりネストされたアトミック ブロックはサポートされません。最外側のアトミック ブロックでトランザクションが開始され、その後のアトミック ブロックは効果がありません。
* MongoDB の配置は、レプリカセットまたはシャーディングされたクラスターである必要があります。

このセクションは、Diango MongoDBバックエンドがさまざまな Dlango 機能をサポートしているかどうかを示します。

Dlango MongoDBバックエンドは現在、次の表に含まれていないすべての Diango フィールドをサポートしています。サポートされているフィールドの完全なリストを表示するには、モデルの作成ガイドの「Dango フィールド」セクションを参照してください。

Diango フィールド型
現在のサポート

AutoField

サポート対象外 。BigAutoField および SmallAutoField タイプもサポートされていません。代わりに、ObjectIdAutoField を使用してください。

CompositePrimaryKey

サポート対象外 。

DateTimeField

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

DurationField

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

ForeignKey

部分的にサポートされています 。このフィールド型は、次の制限付きで使用できます。

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

  • ForeignKeyフィールドでのCASCADE deletesのパフォーマンスは、EmbeddedModelField を使用する場合よりパフォーマンスが良くありません。

GeneratedField

サポート対象外 。

JSONField

部分的にサポートされています 。このフィールド型は、次の制限付きで使用できます。

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

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

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

Dlango MongoDBバックエンドは現在、次の表に含まれていないすべての Diango QuerySet メソッドをサポートしています。サポートされているメソッドを表示するには、Django ドキュメントのQuerySet APIを参照してください。

Diango QuerySet の機能
現在のサポート

delete()

✓
この方法を使用して複数のコレクションにまたがるクエリを実行することはできません。

difference()

サポート対象外 。

extra()

サポート対象外 。

intersection()

サポート対象外 。

パターン一致検索

✓
これらのルックアップは、string フィールドのクエリ文字列にのみ使用できます。
パターンマッチングのルックアップは、iexact、startswith、istartswith、endswith、iendswith、contains、icontains、regex、および iregex です

prefetch_related()

サポート対象外 。

raw()

サポート対象外 。ただし、MongoDB の集計パイプライン構文を使用するクエリは raw_aggregate() メソッドで実行できます。

select_for_update()

サポート対象外 。

update()

✓
この方法を使用して複数のコレクションにまたがるクエリを実行することはできません。

Dlango MongoDBバックエンドは現在、次の表に含まれていないすべてのデータベース関数をサポートしています。関数の完全なリストを表示するには、Dpango ドキュメントのデータベース関数を参照してください。

Dmango 関数
現在のサポート

Chr

サポート対象外 。

ExtractQuarter

サポート対象外 。

MD5

サポート対象外 。

Ord

サポート対象外 。

Pad

サポート対象外 。

Repeat

サポート対象外 。

Reverse

サポート対象外 。

Right

サポート対象外 。

SHA1, SHA224, SHA256, SHA384, SHA512

サポート対象外 。

Sign

サポート対象外 。

Trunc

部分的にサポートされています 。TruncDate および TruncTimeデータベース関数の tzinfo パラメータはサポートされていません。

Diango の機能
現在のサポート

Diango Admin

✓

Diango 認証

✓

GeoDjango

部分的にサポートされています 。この Webフレームワークは、次の制限付きでサポートされています。

  • GiS QuerySet API はサポートされていません。

  • MongoDB は、4326。 以外の空間参照システム識別子をサポートしていません。

  • RasterField はサポートされていません。

Diango MongoDBバックエンドは Diango の形式をサポートしていますが、PolymorphicEmbeddedModelField と PolymorphicEmbeddedModelArrayField はフォームに表示されません。

Dlango MongoDBバックエンドは現在、次の表に含まれていないすべてのマネジメント コマンドをサポートしています。コマンドの完全なリストを表示するには、Dpango ドキュメントの利用可能なコマンドを参照してください。

Diango コマンド
現在のサポート

createcachetable

サポート対象外 。

dumpdata

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

inspectdb

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

loaddata

サポート対象外 。ただし、GA 以降のリリースでこの機能のサポートを追加する予定です。

Diango の機能
現在のサポート

移行コマンドによるインデックスの作成、削除、更新

部分的にサポートされています 。埋め込みモデルまたは配列フィールドのインデックスを更新することはできません。

サポート対象外 。

migrate --fake-initial オプション

サポート対象外 。

埋め込みモデルの移行

部分的にサポートされています 。移行コマンドは、埋め込みモデル フィールドまたは PolymorphicEmbeddedModelField または PolymorphicEmbeddedModelArrayField が参照する埋め込みモデルへの変更を検出しません。

ライブラリ
現在のサポート

部分的にサポートされています 。このライブラリのユースケースと制限の詳細については、Dpango MongoDB CLIドキュメントのDiango フィルターを参照してください。

部分的にサポートされています 。このライブラリのユースケースと制限の詳細については、Dpango MongoDB CLIドキュメントの「Diango 残りフレームワーク」を参照してください。

部分的にサポートされています 。このライブラリのユースケースと制限の詳細については、Diango MongoDB CLIドキュメントのDiango allauthを参照してください。

部分的にサポートされています 。このライブラリのユースケースと制限の詳細については、Diango MongoDB CLIドキュメントの「Diango デバッグ ツールバー」を参照してください。