我有一個系統,從各種來源讀取數據並將它們存儲在MongoDB中。我收到的數據已經在utf-8或unicode中正確編碼。文件鬆散地相關,並且在模式中有很大不同,如果您願意的話。我如何找到哪個值導致bson.errors.InvalidStringData
每隔一段時間,文檔的字段值都是純二進制數據,如JPEG圖像。我知道如何將該值包裝在bson.binary.Binary
對象中以避免bson.errors.InvalidStringData
異常。
有沒有辦法告訴文件的哪個部分使pymongo驅動程序提出bson.errors.InvalidStringData
,還是我必須嘗試轉換每個字段才能找到它?
(+如果碰巧二進制對象恰好是一個有效的Unicode字符串或UTF-8,它會被存儲爲一個字符串,這是很正常)
請問請注意pymongo什麼時候在你的情況下拋出'InvalidStringData'?我問,因爲你說過數據是用UTF-8編碼的,但是,正如文檔所述,在讀取非UTF8數據時([docs](http://api.mongodb.org/)蟒蛇/ 1.7/API/pymongo/errors.html#pymongo.errors.InvalidStringData))。謝謝。 – alecxe
當文檔的字段值爲純二進制數據時,如JPEG圖像或X509證書。我從來沒有得到這個字符串的錯誤。 – ixe013