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

Tự động tạo _id so với ObjectId trong MongoDB

ObjectId s dành cho những trường hợp bạn không có khóa duy nhất cho mọi tài liệu trong bộ sưu tập. Chúng là duy nhất, vì vậy bạn không phải lo lắng về xung đột và chúng phân chia hợp lý trong các đợt triển khai lớn mà không cần quá lo lắng (chúng có ưu và nhược điểm, đọc thêm tại đây ).

ObjectId cũng chứa dấu thời gian của máy khách nơi ObjectId đã được tạo (trừ khi máy chủ DB được cấu hình để tạo tất cả các khóa). Cùng với đó, như bạn đã nhận thấy, bạn có thể sử dụng tem thời gian để thực hiện một số thao tác ngày tháng. Tuy nhiên, nếu bạn định sử dụng Khung tổng hợp, bạn sẽ thấy rằng bạn không thể sử dụng ObjectId trong bất kỳ hoạt động ngày nào hiện tại ( sự cố ). Nếu bạn muốn sử dụng AF, bạn sẽ cần trường thứ hai có chứa ngày tháng, rất tiếc là phải lưu trữ kép nó với ObjectId giá trị bên trong của.

Nếu bạn có thể yên tâm rằng _id bạn đang tạo là duy nhất, thì không có nhiều lý do để sử dụng ObjectId trong cấu trúc dữ liệu của bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. làm cách nào để thêm giá trị vào đầu mảng trong mongodb?

  2. Mongodb node.js $ out với tổng hợp chỉ hoạt động nếu gọi toArray ()

  3. Mongodb:Thực hiện truy vấn Phạm vi ngày từ ObjectId trong trình bao mongo

  4. Làm cách nào để tạo ngày truy vấn trong mongodb bằng pymongo?

  5. Làm cách nào để đổi tên (các) trường bí danh trong khi tìm nạp nó từ MongoDB thông qua truy vấn sử dụng ổ đĩa gốc MongoDB-Node.JS?