MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

chèn mongodb cho thấy 'các chuỗi trong tài liệu phải là UTF-8 hợp lệ'

Nếu bạn đang sử dụng PyMongo và Python 2.x, bạn nên sử dụng str trong chuỗi utf-8 hoặc unicode. Xem: http://api.mongodb .org / python / current / tutorial.html # a-note-on-unicode-string

If data là một dict có nhiều chuỗi, bạn có thể chuyển đổi tất cả chúng thành unicode bằng cách sử dụng hàm sau:

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()

Mã trước đó sẽ chuyển đổi tất cả các giá trị str trong unicode, các "phím" vẫn không bị ảnh hưởng, tùy thuộc vào nguyên nhân gốc rễ mà bạn cũng nên chuyển đổi các "khóa".




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Trình điều khiển MongoDb C #, thuộc tính loại thực thi IList không lưu

  2. SQL COALESCE () Giải thích

  3. Làm cách nào để tạo chỉ mục với pymongo

  4. Mongodb nâng cấp tài liệu nhúng

  5. Hỗ trợ giao dịch Spring Data MongoDB 4.0