ฉันมีระบบที่อ่านข้อมูลจากแหล่งต่างๆ และจัดเก็บไว้ใน MongoDB ข้อมูลที่ฉันได้รับมีการเข้ารหัสอย่างถูกต้องในรูปแบบ utf-8 หรือแบบยูนิโค้ดแล้ว เอกสารมีความสัมพันธ์กันอย่างหลวมๆ และแตกต่างกันมากใน สคีมา หากคุณต้องการ
ในบางครั้ง เอกสารจะมีค่าฟิลด์ที่เป็นข้อมูลไบนารีล้วนๆ เช่น รูปภาพ JPEG ฉันรู้วิธีล้อมค่านั้นไว้ในวัตถุ bson.binary.Binary
เพื่อหลีกเลี่ยงข้อยกเว้น bson.errors.InvalidStringData
มีวิธีที่จะบอกได้ว่าส่วนใดของเอกสารที่ทำให้ไดรเวอร์ pymongo เพิ่ม bson.errors.InvalidStringData
หรือฉันต้องลองแปลงแต่ละฟิลด์เพื่อค้นหา
(+หากบังเอิญวัตถุไบนารี่เป็นสตริงยูนิโค้ดที่ถูกต้องหรือ utf-8 มันจะถูกจัดเก็บเป็นสตริงและก็ไม่เป็นไร)
InvalidStringData
ในกรณีของคุณเมื่อใด ฉันถามเพราะคุณบอกว่าข้อมูลถูกเข้ารหัสใน UTF-8 แต่ตามที่เอกสารระบุไว้ ข้อผิดพลาดนี้เกิดขึ้นขณะอ่านข้อมูลที่ไม่ใช่ UTF8 (เอกสาร) ขอบคุณ. - person alecxe   schedule 17.05.2013