我一直在机器上使用pymongo 3.3.0
和mongo 3.2.10
一段时间。最近,我注意到我的一些记录是用BinData类型插入的,而不是字符串,这正是我期望的。pymongo将哪些对象类型作为BinData插入到mongodb中?
我现在有看起来像这样的记录:
{'some_key': BinData(0,"S0me=Bas3=64=Enc0Ding")}
虽然我本来期望是这样的:
{'some_key': 'some_value'}
我注意到,如果我解码S0me=Bas3=64=Enc0Ding
,我得到的预期值, some_value
。
但是,我仍然对这种情况发生的原因感到困惑。
我检查了我的代码,看来我插入了字符串。此外,该错误并不普遍。我仍然有正确插入的新记录。只有其中一些插入为BinData。
您是否知道可能导致此问题的任何疑难问题,或者有什么 建议要检查哪些问题是潜在的问题来源?
实现quetion可能过于宽泛,我将它缩小这样的:
通过pymongo插入的MongoDB什么对象类型为BinData?
谢谢!
编辑
我使用的Python版本是3.5。虽然具体版本并不重要,但我使用python 3的事实确实如此。