来自 pymongo 文档:
MongoDB 以 BSON 格式存储数据。BSON 字符串是 UTF-8 编码的,因此 PyMongo 必须确保它存储的任何字符串都只包含有效的 UTF-8 数据。常规字符串 () > 已验证并按原样存储。Unicode 字符串 () 首先是 UTF-8 编码的。> 我们的示例字符串在 Python shell 中表示为 u'Mike' 而不是 'Mike' 的原因是 PyMongo 将每个 BSON 字符串解码为 Python unicode 字符串,而不是常规 str。”
对我来说数据库只能存储 UTF-8 编码的字符串似乎有点傻,但是 pymongo 中的返回类型是 unicode,这意味着我对文档中的每个字符串要做的第一件事就是再次调用 encode('utf -8') 就可以了。有没有办法解决这个问题,即告诉 pymongo 不要给我 unicode 而是给我原始的 str?