我一直在機器上使用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的事實確實如此。