gpt4 book ai didi

mongodb - 如何找到导致 bson.errors.InvalidStringData 的值

转载 作者:可可西里 更新时间:2023-11-01 10:04:59 24 4
gpt4 key购买 nike

我有一个系统可以从各种来源读取数据并将它们存储在 MongoDB 中。我收到的数据已经正确编码为 utf-8 或 unicode。如果您愿意,文档之间的关系松散且架构差异很大。

有时,文档的字段值是纯二进制数据,如 JPEG 图像。我知道如何将该值包装在 bson.binary.Binary 对象中以避免 bson.errors.InvalidStringData 异常。

有没有办法告诉 pymongo 驱动程序生成 bson.errors.InvalidStringData 的文档的哪一部分,或者我是否必须尝试转换每个字段才能找到它?

(+如果一个二进制对象碰巧是一个有效的 unicode 字符串或 utf-8,它将被存储为一个字符串,这没关系)

最佳答案

PyMongo 有两种 BSON 实现,一种用 Python 实现可移植性,另一种用 C 实现以提高速度。 Python 版本中的 _make_c_string 会告诉您编码失败的内容,但显然您正在使用的 C 版本不会。您可以通过 import bson; 判断您拥有的是哪个 BSON 实现; bson.has_c()。我已经提交了 PYTHON-533 ,很快就会修复。

关于mongodb - 如何找到导致 bson.errors.InvalidStringData 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16572580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com