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

Mongodb tránh các mục nhập trùng lặp

Sử dụng chỉ mục với {unique:true} tùy chọn.

// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});

Bạn cũng có thể làm điều này trên nhiều trường. Xem phần này trong tài liệu để biết thêm chi tiết và ví dụ.

Một chỉ mục duy nhất đảm bảo rằng các trường được lập chỉ mục không lưu trữ các giá trị trùng lặp; tức là thực thi tính duy nhất cho các trường được lập chỉ mục. Theo mặc định, MongoDB tạo một chỉ mục duy nhất trên trường _id trong quá trình tạo tập hợp.

Nếu bạn muốn null các giá trị bị bỏ qua khỏi khóa duy nhất, sau đó bạn cũng phải làm cho chỉ mục trở nên thưa thớt ( xem tại đây ), bằng cách thêm sparse tùy chọn:

// everyone's username must be unique,
//but there can be multiple users with no email field or a null email:
db.users.createIndex({email:1},{unique:true, sparse:true});

Nếu bạn muốn tạo chỉ mục bằng Trình điều khiển Java MongoDB. Hãy thử:

Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhà điều hành đường ống tổng hợp MongoDB $ type

  2. Khung tổng hợp MongoDB - Đổi tên trường động

  3. phép chiếu không hoạt động với truy vấn tìm

  4. Cơ sở dữ liệu MongoDB và Thống kê Bộ sưu tập

  5. 2 cách xóa bộ sưu tập trong MongoDB