sql >> Database teknologi >  >> NoSQL >> MongoDB

pymongo fejl:bson.errors.InvalidBSON:'utf8' codec kan ikke afkode byte 0xa1 i position 25:ugyldig startbyte

Du skal videregive argumentet unicode_decode_error_handler til MongoClient og mindst bruge 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)

Det ser ud til, at 'ignore' er indstillet som standard på Python 2.7, men i Python 3.6.1 skal du gøre det selv. Dette vil ignorere Unicode-fejlene og lade markøren fortsætte med at iterere, pymongo vil forsøge at gøre sit bedste for at rekonstruere JSON-dataene.



  1. hvordan ignorerer du dublerede dokumenter, når du bruger insertMany i mongodb php-bibliotek?

  2. Kan en $text-søgning udføre et delvist match

  3. MongoDB bedste praksis til at tælle relaterede dokumenter

  4. Redis på Spark:Opgaven kan ikke serialiseres