TTL MongoDB
- [Người hướng dẫn] Một chỉ mục cung cấp một cách có tổ chức để tra cứu dữ liệu bằng cách lưu trữ một tập hợp con của dữ liệu với các con trỏ tới vị trí của các bản ghi đầy đủ. Có nhiều loại chỉ mục mà bạn có thể sử dụng để tăng tốc độ truy xuất dữ liệu dựa trên loại dữ liệu bạn lưu trữ trong bộ sưu tập của mình. Và cũng có các chỉ mục chuyên biệt, như chỉ mục thời gian tồn tại hoặc viết tắt là chỉ mục TTL. Chỉ mục TTL tăng tốc truy vấn giống như chỉ mục thông thường, nhưng chúng cũng tự động xóa tài liệu khỏi bộ sưu tập sau một khoảng thời gian nhất định đã trôi qua. Chúng đặc biệt hữu ích khi bạn đang tạo nhiều dữ liệu, chẳng hạn như có khóa và muốn dọn sạch dữ liệu đó sau một thời gian nhất định. Và chúng cũng có thể hữu ích với dữ liệu cần xóa sau một khoảng thời gian nhất định vì lý do quy định. Vì vậy, hãy tạo một trong những chỉ mục TTL này. Để tạo một chỉ mục TTL, chúng ta sẽ gọi phương thức createIndex và chúng ta sẽ phải gọi nó trên một… Show Xem các khóa học trên thiết bị di động của bạn mà không cần kết nối internet. Tải xuống các khóa học bằng ứng dụng LinkedIn Learning trên iOS hoặc Android của bạn Gần đây tôi cần xóa một số tài liệu mà tôi đã lưu trong MongoDB sau một thời gian. Tôi có thể nghĩ ra một vài ví dụ về lý do tại sao chúng tôi muốn xóa dữ liệu sau một thời gian Chúng tôi có thể làm điều đó bằng cách chạy một cronjob xóa dữ liệu, xóa dữ liệu mỗi khi chúng tôi chèn dữ liệu mới hoặc bất kỳ giải pháp nào khác May mắn cho tôi, vợ tôi nói với tôi rằng MongoDB đã tích hợp sẵn cơ chế đó Các chỉ mục TTL (Time-To-Live) là các chỉ mục trường đơn đặc biệt mà MongoDB có thể sử dụng để tự động xóa tài liệu khỏi bộ sưu tập sau một khoảng thời gian nhất định Chuỗi nền trong MongoDB đọc các giá trị trong chỉ mục và xóa các tài liệu đã hết hạn khỏi bộ sưu tập (thường là mỗi phút) Ví dụ: để tạo chỉ mục TTL trên trường của bộ sưu tập, hãy sử dụng thao tác sau trong trình bao mongo
xóa có điều kiệnKể từ MongoDB 3. 2, một bộ sưu tập có thể được lập chỉ mục một phần bằng cách sử dụng biểu thức bộ lọc được chỉ định, . Chỉ mục TTL cũng có thể được sử dụng với chỉ mục một phầnVí dụ Xóa tài liệu đã tạo 1 giờ trước nếu bằng với
Xóa tài liệu đã tạo 1 ngày trước nếu thấp hơn
Thông tin bổ sung về các chỉ mục một phần Ví dụ thực tếGần đây tôi đã hoàn thành việc phát triển BundleMon, một công cụ miễn phí giúp bạn theo dõi kích thước gói ứng dụng của mình Một trong những thành phần trong BundleMon là dịch vụ lưu các báo cáo lịch sử để so sánh kích thước gói giữa các nhánh. Vì vậy, khi bạn mở PR, BundleMon sẽ lưu một bản ghi với báo cáo kích thước gói hiện tại Không cần lưu báo cáo quá 30 ngày nên mình mới thêm chỉ số TTL 0Cũng được xuất bản tại https. // nhà phát triển. đến/lironer/xóa-hết hạn-tài liệu-tự động-với-mongodb-ttl-index-l44 Chỉ số Thời gian tồn tại (TTL) được xác định cho mỗi bộ sưu tập dựa trên giá trị 3 được cung cấp. Theo mặc định, các bộ sưu tập không có chỉ mục TTLVí dụ, bạn có thể sử dụng trình trợ giúp 4 trong MongoDB Shell để lấy thông tin chỉ mục 1Ví dụ: bạn có thể sửa đổi thời hạn sử dụng cho chỉ mục TTL bằng cách sử dụng lệnh 5 2Nếu đó không phải là thông tin bạn đang tìm kiếm, vui lòng cung cấp thêm một số chi tiết về môi trường của bạn TTL trong MongoDB là gì?Chỉ mục TTL là chỉ mục trường đơn đặc biệt mà MongoDB có thể sử dụng để tự động xóa tài liệu khỏi bộ sưu tập sau một khoảng thời gian nhất định hoặc tại một thời điểm đồng hồ cụ thể.
Làm cách nào để hết hạn dữ liệu trong MongoDB?Tài liệu hết hạn vào một thời điểm đồng hồ cụ thể
. Nếu trường ngày được lập chỉ mục chứa một ngày trong quá khứ, MongoDB coi tài liệu đã hết hạn. set the indexed date field to a value corresponding to the time the document should expire. If the indexed date field contains a date in the past, MongoDB considers the document expired.
Làm cách nào để tạo một phần chỉ mục trong MongoDB?Để tạo chỉ mục một phần, hãy sử dụng db. bộ sưu tập. phương thức createIndex() với tùy chọn partialFilterExpression . |