【发布时间】:2022-01-11 23:54:53
【问题描述】:
当我在 studio3t 中查询时,我得到一个 .net uuid 类型的响应,当我在 python 中查询时,我得到 UUID Version=1。如何在 python 中翻译这个输出?
pyton 响应;
{'_id': UUID('0fc97e3a-8f0c-be4f-a5dc-b166af761afd'), 'Version': 1,
【问题讨论】:
当我在 studio3t 中查询时,我得到一个 .net uuid 类型的响应,当我在 python 中查询时,我得到 UUID Version=1。如何在 python 中翻译这个输出?
pyton 响应;
{'_id': UUID('0fc97e3a-8f0c-be4f-a5dc-b166af761afd'), 'Version': 1,
【问题讨论】:
数据相同,只是表示不同。见https://github.com/mongodb/specifications/blob/master/source/uuid.rst
Java、C# 和 Python 驱动程序本机支持平台类型 UUID,默认情况下所有这些都将它们编码为 BSON 并从 BSON 解码它们 二进制子类型 3。但是,每个都以不同的顺序对字节进行编码 从其他人。为了提高互操作性,BSON 二进制子类型 4 根据 RFC 4122 引入并定义了字节顺序,以及 添加了配置每个驱动程序以这种方式编码 UUID 的机制 给每个司机。遗留表示仍然是默认的 每个司机。
此规范将 MongoDB 驱动程序进一步推向标准 通过要求依赖本机 UUID 的应用程序来表示 UUID 支持明确指定所需的表示。
支持本机 UUID 类型的驱动程序将另外创建 BsonBinary 类的助手,这将有助于转换为和 来自平台原生 UUID 类型。
【讨论】: