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

Pymongo nhận được id được chèn ngay cả với lỗi khóa trùng lặp

Thật không may, không phải theo cách bạn đã làm với các trình điều khiển pymongo hiện tại. Như bạn đã tìm thấy, nếu bạn gặp lỗi trong insert_many() của mình nó sẽ đưa ra một ngoại lệ và chi tiết ngoại lệ không chứa chi tiết của inserted_id s.

Nó chứa thông tin chi tiết về các khóa bị lỗi (trong e.details['writeErrors'][]['keyValue'] ) để bạn có thể thử và làm ngược lại từ danh sách sản phẩm ban đầu của mình.

Giải pháp khác của bạn là sử dụng insert_one() trong một vòng lặp với thử ... ngoại trừ và kiểm tra từng chèn. Tôi biết cách này kém hiệu quả hơn nhưng đó là một cách giải quyết ...




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cần đề xuất về thiết kế đề xuất nghệ sĩ

  2. Object.keys, cách lấy danh sách các khóa trong mongodb

  3. Không có máy chủ nào được WlikeServerSelector chọn từ cụm

  4. Có thể có điều kiện trong dân cư cầy mangut không

  5. Các tài liệu duy nhất sử dụng nhiều giá trị trong Mongoose Schema