MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

вмъкването на mongodb показва „низовете в документите трябва да са валидни UTF-8“

Ако използвате PyMongo и Python 2.x, трябва да използвате str в utf-8 или unicode низове. Вижте:http://api.mongodb .org/python/current/tutorial.html#a-note-on-unicode-strings

Ако data е dict с множество низове, можете да конвертирате всички в unicode, като използвате следната функция:

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

Предишният код ще преобразува всички str стойности в unicode, „ключовете“ остават недокоснати, в зависимост от основната причина трябва също да преобразувате „ключовете“.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да управлявате шаблони за конфигурация за вашите бази данни с ClusterControl

  2. Анализирайте JSON в MONGODB документ

  3. Мога ли да извикам rs.initiate() и rs.Add() от node.js с помощта на драйвера MongoDb?

  4. MongoDB Намерете точно съвпадение на масива, но редът няма значение

  5. Spring data mongodb не затваря mongodb връзки