新增功能
了解以下版本中的新功能:
即将发生的破坏性变更 (breaking change)
根据MongoDB软件生命周期时间表,即将发布的PyMongo次要版本将把最低MongoDB Server版本从4.0 提高到4.2 。PyMongo将不再支持MongoDB Server 4.0。 要学习;了解如何升级驾驶员版本,请参阅 升级PyMongo版本指南。
4.11 中的新增功能
PyMongo v 4.11版本包括以下新功能:
添加了在运行Python v3.13+ 时对自由线程 CPython 的支持。 有关自由线程的更多信息,请参阅Python文档。
正在使用的加密需要
pymongocrypt
v1.12 或更高版本。在未连接的客户端上调用时,
MongoClient.address()
和AsyncMongoClient.address()
方法会正确区块。添加了对
IndexModel
和SearchIndexModel
类的__repr__
支持。将
sort
参数添加到以下方法:Collection.update_one()
Collection.replace_one()
operations.UpdateOne()
operations.UpdateMany()
当
ordered
或verboseResults
选项设立为True
时,如果将MongoClient.bulkWrite()
和AsyncMongoClient.bulk_write()
方法用于未确认的写入,则它们会引发错误。修复了一个错误,该错误导致在使用旧版MongoDB扩展JSON日期时间表示形式时,
DatetimeMS
被错误编码为'{"$date": "X"}'
而不是'{"$date": X}'
。修复了一个错误,该错误会导致
bson.json_util.loads()
方法在解析无效的$date
值时引发IndexError
而不是ValueError
。
4.10 中的新增功能
PyMongo v 4.10版本包括以下新功能:
新增对新的二进制BSON子类型 ( 9 ) 的临时支持,该子类型可通过使用
bson.binary.Binary.from_vector()
和bson.binary.Binary.as_vector()
方法来高效存储和检索向量。 对BSON子类型9的支持处于beta,在正式发布之前可能会发生变化。当应用程序使用C扩展时,将
"c"
添加到driver.name
客户端元数据字段。修复了可能导致
AsyncMongoClient
死锁的错误。
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,在正式发布之前可能会有更改。
4.8 中的新增功能
PyMongo v 4.8版本包括以下新功能:
在发布进程中实现了安全软件开发生命周期 (SSDLC)自动化。 Github版本包括软件物料清单 (SBOM) 和与 PyPI 上发布的发行版文件相对应的签名文件。
在
bson.binary.Binary
类型的对象中,当二进制子类型为SENSITIVE_SUBTYPE
(8
) 时,会对repr()
方法进行编辑。修复了变更流中的一个错误,在该错误中,可以将
startAtOperationTime
和resumeToken
字段同时添加到重试尝试中,从而导致重试失败。在Windows上,将
os.name
的握手元数据更改为Windows
,以缩短导入时间。改进了
MongoClient
操作的性能,尤其是当驾驶员同时运行多个操作时。为 stdlib
ssl
模块添加了回退功能(如果导入pyopenssl
模块失败并显示AttributeError
。
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 'a': Int64(1)}, default=json_util.default, option=orjson.OPT_PASSTHROUGH_SUBCLASS) orjson.dumps({