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

Tài liệu của MongoDB có ý nghĩa gì khi nói rằng các ObjectID có thể là duy nhất?

Hai lý do:

  1. Mỗi ObjectId được tạo cục bộ trên máy khách. Các máy khách khác nhau không phối hợp các giá trị mà họ đang tạo ra. Do đó, nó là có thể rằng có hai máy khách tình cờ tạo ra các số ngẫu nhiên giống nhau và do đó sẽ tạo chính xác các ObjectIds giống nhau. Rất khó xảy ra nhưng có thể xảy ra, do đó từ ngữ "có thể là duy nhất".

  2. Thuật toán tạo ObjectId chỉ định việc sử dụng bộ đếm 3 byte được sử dụng để phân định các giá trị được tạo trong cùng một giây. Nếu bạn tạo hơn 16 triệu ObjectIds trong cùng một giây, bộ đếm đó sẽ tràn và ứng dụng khách bạn đang sử dụng sẽ bắt đầu tạo ObjectIds mà nó đã được tạo một lúc trước.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:CastError:Không thể truyền tới ObjectId cho giá trị “tôi” tại đường dẫn “_id”

  2. Trong Mongodb, làm cách nào để kiểm tra xem tất cả các tài liệu có phải là duy nhất cho một giá trị không?

  3. Liệt kê người dùng cho một số DB nhất định với PyMongo

  4. Nếu giá trị của một thuộc tính là null khi cập nhật thì thuộc tính đó sẽ không được thêm vào bản ghi

  5. MongoDB $ setEquals