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

Chỉ mục duy nhất MongoDB trên phần tử mảng trên các tài liệu (không phải trên tài liệu lồng nhau)

Để làm được điều này, bạn cần thay đổi một số điều.

Trước hết, lược đồ của bạn phải là một index như thế này:

number: {
  type: String,
  index: true, // <-- This line
  unique: true
}

Và, trong tùy chọn hình nón của bạn, hãy thêm useCreateIndex: true . Ví dụ, tôi có:

const mongooseOpts = {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    useCreateIndex: true //<-- This line
};

await mongoose.connect(uri, mongooseOpts);

Sau đó, khi bạn cố gắng thêm một số điện thoại trùng lặp, một lỗi sẽ xuất hiện.

Với hai bước này, nếu cũng không hiệu quả, hãy thử xóa collection và tạo lại.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bộ lọc tra cứu Mongo $ sử dụng truy vấn lồng nhau

  2. Khi nào sử dụng GridFS trên MongoDB?

  3. MongoDB Không bắt đầu được - *** hủy bỏ sau khi thất bại fassert ()

  4. Làm cách nào bạn có thể gỡ lỗi các hàm javascript được lưu trữ trong MongoDB?

  5. Tại sao MongoDB $ hoặc truy vấn của tôi không hoạt động?