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

MongoDB không hợp lệDocument:Không thể mã hóa đối tượng

Cuối cùng tôi đã tìm ra nó. Vấn đề không phải với mã hóa. Đó là với cấu trúc của các tài liệu.

Bởi vì tôi đã sử dụng ví dụ MongoPipeline tiêu chuẩn không xử lý các mặt hàng phế liệu lồng nhau.

Những gì tôi đang làm là:BlogItem:"url" ... comments =[CommentItem]

Vì vậy, BlogItem của tôi có một danh sách các CommentItems. Bây giờ vấn đề đã đến ở đây, vì vẫn duy trì đối tượng trong cơ sở dữ liệu mà tôi thực hiện:

self.db[self.collection_name].insert(dict(item))

Vì vậy, ở đây tôi đang phân tích BlogItem thành một câu lệnh. Nhưng tôi không phân tích cú pháp danh sách CommentItems. Và bởi vì theo dõi lại hiển thị loại CommentItem giống như một dict, tôi đã không xảy ra với tôi rằng đối tượng có vấn đề không phải là dict!

Vì vậy, cuối cùng cách để khắc phục sự cố này là thay đổi dòng khi thêm nhận xét vào danh sách nhận xét như sau:

item['comments'].append(dict(comment))

Bây giờ MongoDB coi nó như một tài liệu hợp lệ.

Cuối cùng, đối với phần cuối cùng, nơi tôi hỏi tại sao tôi nhận được một ngoại lệ trên bảng điều khiển python chứ không phải trong tập lệnh.

Lý do là vì tôi đang làm việc trên bảng điều khiển python, chỉ hỗ trợ ascii. Và do đó lỗi.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. chèn vào subocument với mongoDB

  2. Có ai đã làm việc với Aerospike? Nó so sánh với MongoDB như thế nào?

  3. Mongodb dữ liệu mùa xuân - Tùy chọn 'con trỏ' là bắt buộc

  4. Cập nhật trường với giá trị từ một trường lồng nhau

  5. Làm cách nào để nhận đầu ra và trình bao truy vấn được tô màu trong MongoDB?