sql >> Databáze >  >> NoSQL >> MongoDB

chyba pymongo:bson.errors.InvalidBSON:kodek 'utf8' nemůže dekódovat bajt 0xa1 na pozici 25:neplatný počáteční bajt

Musíte předat argument unicode_decode_error_handler MongoClient a používat alespoň pymongo 3.5.1.

import pymongo
import json
from pymongo import MongoClient

if __name__ == '__main__':

    client = MongoClient(
        host="whatever_your_host_is",
        maxPoolSize=50,
        unicode_decode_error_handler='ignore'
    )


    my_db=client['my_db']
    collection=my_db['my_collection']

    cursor = collection.find({"whatever": "some_stuff"})

    for document in cursor:
          print(document)

Vypadá to, že 'ignorovat' je standardně nastaveno v Pythonu 2.7, ale v Pythonu 3.6.1 to musíte udělat sami. To bude ignorovat chyby Unicode a nechá kurzor pokračovat v iteraci, pymongo se pokusí udělat maximum pro rekonstrukci dat JSON.



  1. Nativní ovladač MongoDB Node.js tiše spolkne výjimku `bulkWrite`

  2. Jak mohu získat počet klíčů v redis?

  3. Agregace MongoDB pro přidání chybějících měsíců mezi dvě data po seskupení v poli data

  4. Rails mongoid regex na poli Integer