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

Mongoose - gây ra bởi ::11000 E11000 chỉ số lỗi chính trùng lặp?

Ban đầu, bạn có một trường có tên là name trong giản đồ của bạn, được đặt thành unique .

Làm sao tôi biết? Vì lỗi đã nói với tôi như vậy:

duplicate key error index: **iotdb.users.$name_1**

Bạn đã đổi tên trường thành username , nhưng không xóa chỉ mục cũ. Theo mặc định, MongoDB sẽ đặt giá trị của trường không tồn tại thành null trong trường hợp đó.

Tài liệu liên quan tại đây:

Nếu tài liệu không có giá trị cho trường được lập chỉ mục trong chỉ mục duy nhất, chỉ mục sẽ lưu trữ giá trị rỗng cho tài liệu này. Do ràng buộc duy nhất, MongoDB sẽ chỉ cho phép một tài liệu thiếu trường được lập chỉ mục.

Để giải quyết vấn đề này, bạn cần xóa chỉ mục cho name đã đổi tên trường.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách dừng mongo DB trong một lệnh

  2. Định dạng một số dưới dạng phần trăm trong SQL

  3. Sử dụng nhiều cơ sở dữ liệu Mongodb với Meteor.js

  4. Nhận phần tử thứ n của một mảng trong MongoDB

  5. Kho lưu trữ phản ứng dữ liệu mùa xuân với MongoDB