Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/ /

版本说明

了解以下版本中的新功能:

  • 版本 5.2

  • 版本 5.1

本部分列出了以下补丁版本中引入的更改:

Django MongoDB后端 v5.2.4发布包含以下功能、改进和修复:

  • 通过将复杂条件从 $match 阶段推送到 $lookup 阶段,提高使用 $lookup聚合阶段的连接操作的性能

Django MongoDB后端 v5.2.3发布包含以下功能、改进和修复:

  • 防止 QuerySet.union() 查询重复 $project管道阶段。

  • 更新 Value 类以在 $literal操作符中包装字符串、字典和元组值,从而防止MongoDB将它们解释为表达式。同样,出于同样的原因,更新模型的查询现在会将值包装在 $literal操作符中。

  • 使用 localFieldforeignField 简化 $lookup 查询。

Django MongoDB后端 v5.2.2发布包含以下功能、改进和修复:

  • 添加以下 SearchIndex 参数,允许您创建更复杂的索引:

    • field_mappings

    • analyzer

    • search_analyzer

    要学习;了解更多信息,请参阅索引指南中的 搜索索引

  • 修复了使用数据库转换器加载包含 EmbeddedModel 字段的模型时出现的 KeyError 异常(如果该字段不存在于数据中)。

  • 确保 db_column 参数适用于 EmbeddedModel 字段。

  • EmbeddedModelField 的搜索索引类型和 PolymorphicEmbeddedModelField 值从 embeddedDocuments 更正为 document

  • 修复了未初始化数据库连接时出现的 transaction.atomic() 错误。

  • 弃用了 django_mongodb_backend.utils.parse_uri() 方法。未来发布中已删除此方法。

Django MongoDB后端 v5.2.1发布包含以下功能、改进和修复:

  • 添加了对在 DATABASES["HOST"] 键中指定连接字符串的支持,而不是使用 django_mongodb_backend.utils.parse_uri() 方法。要学习;了解更多信息,请参阅《配置数据库连接》指南中的自动配置数据库设置

  • 指示添加或删除搜索索引的迁移操作等待,直到该操作在服务器上完成,这可以防止按顺序运行多个操作时发生冲突。

  • 配置使用以下操作符的简单查询以使用 $match 而不是 $expr,从而允许它们使用索引:

    • $eq

    • $in

    • $and

    • $or

    • $gt

    • $gte

    • $lt

    • $lte

Django MongoDB 后端 v5.2.0 是首次正式发布(GA)版本。要学习有关 GA 功能的更多信息,请参阅Django MongoDB 后端现已普遍可用博客文章。

警告

重大更改

Django MongoDB后端 v5.2.0beta 3发布引入了以下破坏性变更 (breaking change):

  • 删除对非字符串字段的模式匹配查找的支持。以前,这些查找使用 $toString操作符转换其输入。这会导致性能问题,因为MongoDB在运行查询时无法使用索引。

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • 在表单和模型验证中将 django.db.models.SmallIntegerFielddjango.db.models.PositiveSmallIntegerField 值限制为 32 位。

  • 删除对数据库缓存的支持。这可以防止破坏数据库的攻击者使用 pickle 编码的缓存值在应用程序服务器上运行任意命令。

Django MongoDB后端 v5.2.0beta 2发布包括以下功能、改进和修复:

  • 添加对MongoDB Search 查询的支持。要学习更多,请参阅运行 MongoDB Search 查询指南。

  • 添加了对 EmbeddedModelArrayField 值的子查询支持。要学习;了解更多信息,请参阅《指定查询》指南中的“查询嵌入式模型数组值”

  • options 参数添加到 django_mongodb_backend.utils.parse_uri() 方法。

  • 添加对数据库事务的支持。要学习;了解更多信息,请参阅 事务和会话指南。

  • 新增 PolymorphicEmbeddedModelFieldPolymorphicEmbeddedModelArrayField 字段,用于存储可属于多个模型类的模型实例或模型实例列表。要学习;了解更多信息,请参阅创建模型指南中的存储多态嵌入式模型数据

  • 添加 GeoDjango支持。要学习;了解更多信息,请参阅《地理空间数据建模》指南

  • 更新 QuerySet.explain() 以返回可解析为JSON 的字符串。

  • 修复了 IntegerFieldPositiveBigIntegerField 字段的唯一约束生成问题,该字段错误地允许大于 32 位的重复值。您必须重新创建现有的唯一约束才能使用 $type: long 而不是 int

  • 将以下字段作为 bson.int64.Int64 值发送到MongoDB ,这修复了对小于 32 位的值的唯一约束:

    • IntegerField

    • BigIntegerField

    • PositiveIntegerField

    • PositiveBigIntegerField

    • DurationField

  • 通过删除服务器端分块的下限来提高 QuerySet 性能。

  • 通过将一些简单条件从 $match 阶段推送到 $lookup 阶段,提高使用 $lookup聚合阶段的连接操作的性能。

Django MongoDB后端 v5.2.0beta 1发布包括以下功能、改进和修复:

  • 添加用于存储模型实例列表的 EmbeddedModelArrayField字段。要学习;了解更多信息,请参阅创建模型指南中的存储嵌入式模型数组数据

  • 修复了使用数据库转换器加载具有 null ArrayField 值和 base_field 的模型时发生的崩溃。

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • 将支持的最低PyMongo版本从 4.6 增加到 4.7。

  • 删除 django_mongodb_backend.utils.parse_uri()conn_max_age 参数。Django MongoDB后端现在默认使用持久连接。

Django MongoDB后端 v5.2.0beta 0发布包括以下功能、改进和修复:

  • 添加了 SearchIndexVectorSearchIndex 类,允许您创建MongoDB Search 和 Vector Search 搜索索引。要学习;了解更多信息,请参阅 创建索引指南中的搜索索引向量搜索索引

  • 默认使用 PyMongo 的连接池化。

  • EmbeddedModelField 中添加对字段自定义查找和转换的支持。

  • 修复使用 Trunc数据库函数的 tzinfo 参数的查询结果。

  • 新增对 QuerySet.dates()QuerySet.datetimes() 方法的支持。

  • 修复了使用数据库转换器的嵌入式模型字段加载 QuerySet 结果的问题。

本部分列出了以下补丁版本中引入的更改:

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • 删除对数据库缓存的支持。这可以防止破坏数据库的攻击者使用 pickle 编码的缓存值在应用程序服务器上运行任意命令。

Django MongoDB后端 v5.1.0beta 4发布包括以下功能、改进和修复:

  • 修复了加载具有 null ArrayField 值的模型以及 base_field 使用数据库转换器时发生的崩溃。

  • 通过删除服务器端分块的下限来提高 QuerySet 性能。

Django MongoDB后端 v5.1.0beta 3发布包括以下功能、改进和修复:

  • 添加对字段自定义查找和转换的支持 EmbeddedModelField

  • 修复使用 Trunc数据库函数的 tzinfo 参数的查询结果

  • 新增对 QuerySet.dates()QuerySet.datetimes() 方法的支持

  • 修复了使用数据库转换器的嵌入式模型字段加载 QuerySet 结果的问题

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • ArrayFieldsize 参数重命名为 max_sizesize 参数现在用于实施固定长度数组。

Django MongoDB后端 v5.1.0beta 2发布包括以下功能、改进和修复:

  • 添加对数据库缓存的支持。此支持后来在 v5.1.4 中删除。

  • 修复当文档键顺序与模型字段顺序不匹配时 QuerySet.raw_aggregate()字段初始化的问题。

警告

重大更改

此版本发布了以下破坏性变更 (breaking change):

  • ObjectIdAutoField 不再接受整数值

Django MongoDB后端 v5.1.0beta 1发布包括以下功能、改进和修复:

  • 新增对保存嵌套嵌入式模型表单的支持

  • 修复持久数据库连接

  • 添加对异步操作的支持

  • db_name 参数添加到 django_mongodb_backend.utils.parse_uri() 方法

  • 添加 django_mongodb_backend.routers.MongoRouter 路由器,以确保 Django MongoDB 后端不会为嵌入式模型创建集合,并且 dumpdata 命令不包含嵌入式模型

Django MongoDB后端 v5.1.0beta 0 是初始公开预览发布。要学习有关公共预览功能的更多信息,请参阅官方 Django MongoDB 后端现已推出公共预览版博客文章。

后退

迁移 Djongo ODM 应用程序

在此页面上