sql >> Database >  >> NoSQL >> MongoDB

pymongo-fout:bson.errors.InvalidBSON:'utf8'-codec kan byte 0xa1 op positie 25 niet decoderen:ongeldige startbyte

U moet het argument unicode_decode_error_handler doorgeven aan MongoClient en ten minste pymongo 3.5.1 gebruiken.

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)

Het lijkt erop dat 'negeren' standaard is ingesteld op Python 2.7, maar in Python 3.6.1 moet je het zelf doen. Hierdoor worden de Unicode-fouten genegeerd en blijft de cursor itereren, pymongo zal zijn best doen om de JSON-gegevens te reconstrueren.



  1. Spring Data Redis:Redis Pipeline retourneert altijd null

  2. Controleer het huidige aantal verbindingen met MongoDb

  3. Toegankelijkheid van de operationele database

  4. Instantie van bean mislukt:Opgegeven klasse is een interface