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

theo dõi các tài liệu đã xóa trong bộ sưu tập có giới hạn của Mongo DB

Bộ sưu tập có giới hạn là các bộ sưu tập có kích thước cố định sẽ tự động xóa các tài liệu cũ nhất (dựa trên thứ tự chèn) bằng cách ghi đè chúng khi bộ sưu tập đầy.

Các bộ sưu tập có giới hạn khái niệm là một bộ đệm tròn chứ không phải là một hàng đợi.

Điều này nghe có vẻ không phù hợp với trường hợp sử dụng của thông tin đơn đặt hàng liên tục - không có "móc" nào để chèn lại tài liệu vào bộ sưu tập có giới hạn khi chúng bị xóa và nếu bộ sưu tập có giới hạn của bạn quá nhỏ, bạn có thể ghi đè tài liệu trước khi chúng được xử lý.

Tôi nghĩ bạn thực sự muốn sử dụng một bộ sưu tập bình thường (không giới hạn).

Xóa các đơn đặt hàng cũ dựa trên trạng thái

Nếu bạn muốn xóa đơn đặt hàng dựa trên một số giá trị trạng thái, bạn nên xử lý điều này trong mã ứng dụng của mình (ví dụ:khi đơn đặt hàng chuyển từ trạng thái "Đang chờ xử lý" sang "Đã xử lý", hãy thực hiện bất kỳ thao tác dọn dẹp nào được yêu cầu).

Xóa các đơn đặt hàng cũ / hết hạn theo thời gian

Nếu bạn muốn tự động xóa các đơn đặt hàng cũ / hết hạn vào một thời điểm cụ thể, thì một cách tốt là sử dụng một bộ sưu tập bình thường với hết hạn Time-To-Live (TTL) ở cấp độ tài liệu , ví dụ:

db.orders.ensureIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )

Sau đó, bạn có thể đặt (hoặc gia hạn) thời hạn cho mỗi tài liệu đặt hàng dựa trên expireAt ngày. Lưu ý rằng đây có thể không phải là một tùy chọn phù hợp nếu bạn cần kiểm tra cả expireAt giá trị và trường trạng thái (TTL hết hạn chỉ dựa trên chỉ mục ngày được cung cấp).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để xử lý các truy vấn phân trang đúng cách với mongodb và php?

  2. 5 cách để có được một giờ cho một buổi hẹn hò trong MongoDB

  3. Tổng hợp MongoDB trên một phạm vi

  4. Các bản sao lưu mongodb có được tạo tự động không?

  5. ClassCastException trong khi tra cứu JNDI cho MongoDB, bên trong WAB, chạy Liberty