MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

penyisipan mongodb menunjukkan 'string dalam dokumen harus valid UTF-8'

Jika Anda menggunakan PyMongo dan Python 2.x, Anda harus menggunakan str dalam string utf-8 atau unicode. Lihat:http://api.mongodb .org/python/current/tutorial.html#a-note-on-unicode-strings

Jika data adalah dict dengan banyak string, Anda dapat mengonversi semuanya menjadi unicode menggunakan fungsi berikut:

def convert2unicode(mydict):
    for k, v in mydict.iteritems():
        if isinstance(v, str):
            mydict[k] = unicode(v, errors = 'replace')
        elif isinstance(v, dict):
            convert2unicode(v)

for code, data in dict_data.items(): 
    try:
        convert2unicode(data)
        collection2.insert({'_id':code,'data': data})
    except Exception as e:
        print code,'>>>>>>>', str(e)
        sys.exit()

Kode sebelumnya akan mengonversi semua nilai str dalam unicode, "kunci" tetap tidak tersentuh, tergantung pada akar penyebab Anda juga harus mengonversi "kunci".




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat menggunakan perintah mongo, menunjukkan perintah tidak ditemukan di mac

  2. Bagaimana cara mengimpor folder dump ke database mongodb?

  3. MongoDB penggunaan cpu yang terus-menerus tinggi

  4. Cara membuat pengguna di MongoDB v3.0.5

  5. Redact di mongodb tampaknya tidak jelas bagi saya