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

lỗi pymongo:bson.errors.InvalidBSON:codec 'utf8' không thể giải mã byte 0xa1 ở vị trí 25:byte bắt đầu không hợp lệ

Bạn cần chuyển đối số unicode_decode_error_handler cho MongoClient và ít nhất phải sử dụng 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)

Có vẻ như 'bỏ qua' được đặt theo mặc định trên Python 2.7, nhưng trong Python 3.6.1, bạn phải tự làm điều đó. Thao tác này sẽ bỏ qua các lỗi Unicode và để con trỏ tiếp tục lặp lại, pymongo sẽ cố gắng làm hết sức để tạo lại dữ liệu JSON.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hình mẫu tốt hơn để lọc bộ sưu tập

  2. Lỗi trường tương tự trong tổng hợp _id

  3. Có ai đã thử MongoDB trên Google App Engine không?

  4. Làm cách nào để truy vấn một tập hợp các đối tượng với một mảng giá trị trong mongoose?

  5. Những ký tự nào KHÔNG được phép trong tên trường MongoDB?