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

MongoError:không thể thay đổi _id của tài liệu

Từ việc xem xét lỗi mongo của bạn, vấn đề không phải với mongo, nó chỉ là làm những gì nó phải làm. Nó có một đối tượng có _id thuộc loại ObjectId:ObjectId ('xxx') và bây giờ bạn đang cố gắng thay đổi đối tượng đó để có _id thuộc loại Chuỗi (_id:"5083e4a7f4c0c4e270000001") và Mongo dường như không thích.

Vì vậy, câu hỏi đặt ra là:tại sao đối tượng lại có id kiểu ObjectId ngay từ đầu? Lần đầu tiên bạn đặt nó như thế nào? Nếu bạn đã sử dụng một số phương pháp khác để khởi tạo nó (tôi đoán là phía máy chủ), bạn nên đặt loại id thành Chuỗi để nó giống với loại đến từ thư viện tập lệnh của bạn. Nếu bạn muốn nó vẫn là một ObjectId, bạn sẽ cần phải chuyển đổi Chuỗi từ tập lệnh của bạn thành một ObjectId trước khi bạn lưu nó vào Mongo.

HTH.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB count () so với countDocuments ()

  2. Lưu trữ tệp trong mongodb bằng node.js

  3. Sử dụng biến với regex để tìm dữ liệu trong mongodb (ứng dụng Meteor)

  4. Giám sát Máy chủ Percona cho MongoDB - Các chỉ số chính

  5. PyMongo $ inc đang gặp sự cố