次の新機能をご覧ください。
5.2 の新機能
このセクションでは、次のパッチ リリースで導入された変更を一覧にしています。
バージョン5.2.4
Django MongoDB バックエンド v5.2.4 リリースには、次の機能、改善点、修正が含まれています。
$matchステージから$lookupステージに複雑な条件をプッシュすることで、$lookup集計ステージを使用する結合操作のパフォーマンスを向上させます
バージョン5.2.3
Django MongoDB バックエンド v5.2.3 リリースには、次の機能、改善点、修正が含まれています。
QuerySet.union()クエリが$projectパイプラインステージを重複するのを防ぎます。MongoDB がこれらを式として解釈しないようにするには、
Valueクラスを更新して、string、辞書、tune 値を$literal演算子でラップします。同様に、モデルを更新するクエリが$literal演算子で値をラップするようになりました。これも同じ理由です。localFieldとforeignFieldを使用して$lookupクエリを簡素化します。
バージョン5.2.2
Django MongoDB バックエンド v5.2.2 リリースには、次の機能、改善点、修正が含まれています。
より複雑なインデックスを作成できる次の
SearchIndex引数を追加します。field_mappingsanalyzersearch_analyzer
もっと学ぶには、検索インデックスをインデックスガイドでご覧ください。
データにフィールドが存在しない場合に、データベース変換を使用して
EmbeddedModelフィールドを含むモデルをロードするときに発生するKeyError例外を修正します。db_column引数がEmbeddedModelフィールドに適用されることを確認します。EmbeddedModelFieldとPolymorphicEmbeddedModelFieldの検索インデックスタイプをembeddedDocumentsからdocumentに修正します。データベース接続が初期化されなかった場合に発生する
transaction.atomic()エラーを修正しました。django_mongodb_backend.utils.parse_uri()メソッドを非推奨にします。このメソッドは将来のリリースで削除されます。
バージョン5.2.1
Django MongoDB バックエンド v5.2.1 リリースには、次の機能、改善点、修正が含まれています。
django_mongodb_backend.utils.parse_uri()メソッドを使用する代わりに、DATABASES["HOST"]キーで接続文字列を指定するためのサポートを追加します。詳細については、 「データベース接続の構成」ガイドの 「データベース設定の自動構成」 を参照してください。検索インデックスを追加または削除する移行操作に対して、サーバー上で操作が完了するまで待機するよう指示します。これにより、複数の操作を連続して実行中際の競合を防止します。
次の演算子を使用する単純なクエリを構成して、
$exprではなく$matchを使用し、これによりインデックスを使用できるようにします。$eq$in$and$or$gt$gte$lt$lte
バージョン5.2.0
Dlango MongoDBバックエンド v5.2.0 は、初期一般提供(GA)リリースです。GA 機能の詳細については、Django MongoDB バックエンドが一般提供になりましたのブログ記事を参照してください。
バージョン 5.2.0beta3
警告
重大な変更
D Jango MongoDBバックエンド v5.2.0beta3 リリースでは、次の重大な変更が導入されています。
非文字列フィールドに対するパスワードなし検索のサポートを除きます。以前は、これらの検索は
$toString演算子を使用して入力を投じていました。MongoDB はクエリの実行中時にインデックスを使用できなかったため、パフォーマンスの問題が発生しました。
バージョン 5.2.0beta2
警告
重大な変更
このバージョン リリースでは、次の重大な変更が導入されています。
フォームとモデル検証で、
django.db.models.SmallIntegerFieldとdjango.db.models.PositiveSmallIntegerFieldの値を 32 ビットに制限します。データベースキャッシュのサポートを廃止します。これにより、データベースを侵害した攻撃者が、ピリオドでエンコードされたキャッシュ値を使用して、アプリケーションサーバー上で任意のコマンドを実行することを防止します。
D Jango MongoDBバックエンド v5.2.0beta2 リリースには、次の機能、改善点、修正が含まれています。
MongoDB Search クエリのサポートを追加しました。詳しくは、MongoDB Search クエリの実行するガイドを参照してください。
EmbeddedModelArrayField値のサブクエリ サポートを追加します。詳細については、クエリの指定ガイドの「埋め込みモデル配列値のクエリ」を参照してください。optionsパラメータをdjango_mongodb_backend.utils.parse_uri()メソッドに追加します。データベーストランザクションのサポートを追加します。詳細については、トランザクションとセッションのガイドを参照してください。
複数のモデルクラスに属することができるモデルインスタンスまたはモデル インスタンスのリストを保存する
PolymorphicEmbeddedModelFieldフィールドとPolymorphicEmbeddedModelArrayFieldフィールドを追加します。詳細については、 「モデル作成ガイド」で 「多形埋め込みモデル データを保存する」 を参照してください。GeoDiango のサポートを追加します。詳細については、 「地理空間データのモデル化ガイド」を参照してください。
JSONとして解析できる string を返すように
QuerySet.explain()を更新します。32 ビットを超える重複値が誤って許可されていた
IntegerFieldフィールドとPositiveBigIntegerFieldフィールドの一意の制約生成を修正します。intではなく$type: longを使用するには、既存の一意の制約を再作成する必要があります。次のフィールドを
bson.int64.Int64値としてMongoDBに送信し、32 ビット未満の値に対する一意の制約を修正します。IntegerFieldBigIntegerFieldPositiveIntegerFieldPositiveBigIntegerFieldDurationField
サーバー側チャンクの下限を排除することで、
QuerySetのパフォーマンスを向上させます。いくつかの簡単な条件を
$matchステージから$lookupステージにプッシュすることで、$lookup集計ステージを使用する結合操作のパフォーマンスを向上させます。
バージョン 5.2.0beta1
D Jango MongoDBバックエンド v5.2.0beta1 リリースには、次の機能、改善点、修正が含まれています。
モデル インスタンスのリストを保存するための
EmbeddedModelArrayFieldフィールドを追加します。学ぶには、 「モデル作成ガイド」の 埋め込みモデル配列データの保存 を参照してください。データベース変換 を使用して、null の
ArrayField値とbase_fieldを持つモデルをロードするときに発生するクラッシュを修正します。
バージョン 5.2.0beta0
警告
重大な変更
このバージョン リリースでは、次の重大な変更が導入されています。
サポートされるPyMongo の最小バージョンを 4.6 から 4.7 に増やします。
django_mongodb_backend.utils.parse_uri()のconn_max_ageパラメータを削除します。Dmango MongoDBバックエンドは、デフォルトで 永続的な接続 を使用するようになりました。
D Jango MongoDBバックエンド v5.2.0beta0 リリースには、次の機能、改善点、修正が含まれています。
MongoDB Search およびベクトル検索インデックスを作成できる
SearchIndexクラスとVectorSearchIndexクラスを追加します。詳細については、 インデックスの作成ガイドの 検索インデックス と ベクトル検索インデックス を参照してください。デフォルトで 、PyMongo の接続プーリングを使用します。
フィールドのカスタム検索と変換のサポートを
EmbeddedModelFieldに追加します。Truncデータベース関数のtzinfoパラメータを使用するクエリの結果を修正します。QuerySet.dates()メソッドとQuerySet.datetimes()メソッドのサポートを追加しました。データベース変換 を使用する埋め込みモデル フィールドの
QuerySet結果の読み込みを修正しました。
5.1 の新機能
このセクションでは、次のパッチ リリースで導入された変更を一覧にしています。
バージョン 5.1.0beta4
警告
重大な変更
このバージョンのリリースでは、次の重大な変更が導入されています。
データベースキャッシュのサポートを廃止します。これにより、データベースを侵害した攻撃者が、ピリオドでエンコードされたキャッシュ値を使用して、アプリケーションサーバー上で任意のコマンドを実行することを防止します。
D Jango MongoDBバックエンド v5.1.0beta4 リリースには、次の機能、改善点、修正が含まれています。
null の
ArrayField値を持つモデルと、base_fieldがデータベース変換を使用するモデルをロードするときに発生するクラッシュを修正します。サーバー側チャンクの下限を排除することで、
QuerySetのパフォーマンスを向上させます。
バージョン 5.1.0beta3
D Jango MongoDBバックエンド v5.1.0beta3 リリースには、次の機能、改善点、修正が含まれています。
フィールドのカスタム検索と変換のサポートを追加します
EmbeddedModelFieldTruncデータベース関数のtzinfoパラメータを使用するクエリの結果を修正しますQuerySet.dates()メソッドとQuerySet.datetimes()メソッドのサポートを追加しましたデータベース変換を使用する埋め込みモデル フィールドの
QuerySet結果の読み込みを修正しました
バージョン 5.1.0beta2
警告
重大な変更
このバージョンのリリースでは、次の重大な変更が導入されています。
ArrayFieldのsizeパラメータの名前をmax_sizeに変更します。固定長配列を強制するためにsizeパラメータが使用されるようになりました。
D Jango MongoDBバックエンド v5.1.0beta2 リリースには、次の機能、改善点、修正が含まれています。
データベースキャッシュのサポートを追加しました。このサポートは後で v5.1.4 で削除されています。
ドキュメントキーの順序がモデルのフィールドの順序と一致しない場合に、
QuerySet.raw_aggregate()フィールドの初期化を修正します。
バージョン 5.1.0beta1
警告
重大な変更
このバージョンのリリースでは、次の重大な変更が導入されています。
ObjectIdAutoFieldは整数値を受け入れなくなりました
D Jango MongoDBバックエンド v5.1.0beta1 リリースには、次の機能、改善点、修正が含まれています。
ネストされた埋め込みモデル フォームの保存 サポートを追加しました
永続的なデータベース接続を修正します
非同期操作のサポートを追加しました
django_mongodb_backend.utils.parse_uri()メソッドにdb_nameパラメータを追加しますdjango_mongodb_backend.routers.MongoRouterルーターを追加します。これにより、Diango MongoDBバックエンド は埋め込みモデルのコレクションを作成せず、dumpdataコマンドに埋め込みモデルが含まれないようにします。
バージョン 5.1.0beta0
Dpango MongoDBバックエンド v5.1.0beta0 は最初のpublic previewリリースです。To learn more about the public preview features, see the 公式ブログ記事「Dmango MongoDBバックエンドがパブリック プレビューで利用可能になりました」を参照してください。