Docs 菜单
Docs 主页
/ / /
pymongo

新增功能

在此页面上

  • 即将发生的破坏性变更 (breaking change)
  • 4.11 中的新增功能
  • 4.10 中的新增功能
  • 4.9 的新增功能
  • 4.8 中的新增功能
  • 4.7 中的新增功能

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

  • 版本 4.11

  • 版本 4.10

  • 版本 4.9

  • 版本 4.8

  • 版本 4.7

根据MongoDB软件生命周期时间表,即将发布的PyMongo次要版本将把最低MongoDB Server版本从4.0 提高到4.2 。PyMongo将不再支持MongoDB Server 4.0。 要学习;了解如何升级驾驶员版本,请参阅 升级PyMongo版本指南。

警告

重大更改

PyMongo v 4.11 包含重大更改。 有关更多信息,请参阅版本4.11重大更改。

PyMongo v 4.11版本包括以下新功能:

  • 添加了在运行Python v3.13+ 时对自由线程 CPython 的支持。 有关自由线程的更多信息,请参阅Python文档。

  • 正在使用的加密需要 pymongocrypt v1.12 或更高版本。

  • 在未连接的客户端上调用时,MongoClient.address()AsyncMongoClient.address() 方法会正确区块。

  • 添加了对 IndexModelSearchIndexModel 类的 __repr__支持。

  • sort 参数添加到以下方法:

    • Collection.update_one()

    • Collection.replace_one()

    • operations.UpdateOne()

    • operations.UpdateMany()

  • orderedverboseResults 选项设立为 True 时,如果将 MongoClient.bulkWrite()AsyncMongoClient.bulk_write() 方法用于未确认的写入,则它们会引发错误。

  • 修复了一个错误,该错误导致在使用旧版MongoDB扩展JSON日期时间表示形式时,DatetimeMS 被错误编码为 '{"$date": "X"}' 而不是 '{"$date": X}'

  • 修复了一个错误,该错误会导致 bson.json_util.loads() 方法在解析无效的 $date 值时引发 IndexError 而不是 ValueError

PyMongo v 4.10版本包括以下新功能:

  • 新增对新的二进制BSON子类型 ( 9 ) 的临时支持,该子类型可通过使用bson.binary.Binary.from_vector()bson.binary.Binary.as_vector()方法来高效存储和检索向量。 对BSON子类型9的支持处于beta,在正式发布之前可能会发生变化。

  • 当应用程序使用C扩展时,将"c"添加到driver.name客户端元数据字段。

  • 修复了可能导致AsyncMongoClient死锁的错误。

警告

重大更改

PyMongo v 4.9 包含重大更改。 有关更多信息,请参阅版本4.9重大更改。

PyMongo v 4.9版本包括以下新功能:

  • 新增支持MongoDB Server 8.0和Python 3.13的支持。

  • 添加支持Queryable Encryption范围查询的支持。 要使用此功能,您的应用必须连接到MongoDB Server 8.0或更高版本。 有关Queryable Encryption的更多信息,请参阅MongoDB Server手册中的Queryable Encryption

  • 添加新的实验性异步API以替换Motor。 此API处于beta,在正式发布之前可能会有更改。

警告

重大更改

PyMongo v 4.8 包含重大更改。 有关更多信息,请参阅版本4.8重大更改。

PyMongo v 4.8版本包括以下新功能:

  • 在发布进程中实现了安全软件开发生命周期 (SSDLC)自动化。 Github版本包括软件物料清单 (SBOM) 和与 PyPI 上发布的发行版文件相对应的签名文件。

  • bson.binary.Binary类型的对象中,当二进制子类型为SENSITIVE_SUBTYPE ( 8 ) 时,会对repr()方法进行编辑。

  • 修复了变更流中的一个错误,在该错误中,可以将startAtOperationTimeresumeToken字段同时添加到重试尝试中,从而导致重试失败。

  • 在Windows上,将os.name的握手元数据更改为Windows ,以缩短导入时间。

  • 改进了MongoClient操作的性能,尤其是当驾驶员同时运行多个操作时。

  • 为 stdlib ssl模块添加了回退功能(如果导入pyopenssl模块失败并显示AttributeError

警告

重大更改

PyMongo v 4.7 包含重大更改。 有关更多信息,请参阅版本4.7重大更改。

PyMongo v 4.7版本包括以下新功能:

  • 添加了Hello.connection_id CommandStartedEvent.server_connection_id , CommandSucceededEvent.server_connection_id CommandFailedEvent.server_connection_id属性。

  • 添加了对用于客户端字段级加密KMS KMS(CSFLE ) 的 ( ) 提供程序的名称后缀的支持。此功能需要pymongocrypt v 1.9 + 和libmongocrypt v 1.9 +。 有关更多信息,请参阅 AutoEncryptionOpts 的 API 文档 类。

  • 改进了将 BSON 文档编码为 JSON 的性能。

  • ClientEncryption.encrypt()ClientEncryption.encrypt_expression()方法现在允许将key_id参数作为UUID对象传入。

  • 膨胀包含Code值的RawBSONDocument对象不再导致错误。

  • 修复了 Python 3.12中的错误 其中,当MongoClient线程在 Python 解释器关闭期间启动时,错误消息RuntimeError: can't create new thread at interpreter shutdown可能会被写入stderr

  • 修复了Int64 实例无法始终由 orjson 进行编码的错误 。类似以下示例的代码现在可以正确运行:

>>> import orjson
>>> from bson import json_util
>>> orjson.dumps({'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS)

后退

故障排除