Xóa chuỗi thời gian MongoDB

“Chèn, cập nhật, xác định vị trí, xóa và tổng hợp là tất cả các thao tác có thể được thực hiện trên bộ sưu tập Chuỗi thời gian, giống như trên bộ sưu tập tiêu chuẩn. Đằng sau bức màn, sự khác biệt cơ bản tồn tại. Khi bạn chèn dữ liệu vào MongoDB, nó sẽ được chuyển đổi sang định dạng lưu trữ tối ưu. Chuỗi thời gian đơn giản hơn và hiệu quả hơn về truy vấn so với bộ sưu tập thông thường

Các bộ sưu tập Chuỗi thời gian được coi là các chế độ xem có thể ghi không cụ thể hóa trong MongoDB. Dữ liệu được lưu hiệu quả hơn, tiết kiệm dung lượng đĩa và chỉ mục nội bộ dựa trên thời gian được tạo tự động. Thay vì snappy, thuật toán zstd được sử dụng theo mặc định để nén dữ liệu. Kiểu nén mới có tỷ lệ cao hơn, yêu cầu ít năng lượng CPU hơn và đặc biệt phù hợp để phân tích chuỗi thời gian với sự khác biệt nhỏ giữa các tài liệu

Có thể thay đổi thuật toán nén trong tương lai, mặc dù điều này không được khuyến khích. Khi bạn chèn tài liệu, bộ sưu tập Chuỗi thời gian không được tạo tự động như các bộ sưu tập khác. Nó phải được tạo ra rõ ràng. ”

Chuỗi thời gian trong MongoDB trong Ubuntu 20 là gì. 04?

Cơ sở dữ liệu Chuỗi thời gian là cơ sở dữ liệu tùy chỉnh được xây dựng để lưu trữ dữ liệu được tạo từ một luồng giá trị liên tục được kết hợp với dấu thời gian một cách hiệu quả. Ứng dụng phổ biến nhất là lưu trữ dữ liệu từ thiết bị cảm biến cung cấp các điểm dữ liệu theo các khoảng thời gian đều đặn, nhưng chúng hiện được sử dụng để phục vụ nhiều ứng dụng hơn.

Sau đây là một số ví dụ về các ứng dụng có thể

  • Dữ liệu từ Internet vạn vật
  • Các dịch vụ web, ứng dụng và cơ sở hạ tầng đều được giám sát liên tục
  • ước tính doanh số bán hàng
  • Xu hướng tài chính Hiểu biết
  • Dữ liệu từ ô tô tự lái hoặc các đối tượng vật lý khác đang được xử lý

Cơ sở dữ liệu chuyên biệt về Chuỗi thời gian sử dụng các công nghệ nén để giảm dung lượng cần thiết đồng thời cung cấp các kênh truy cập để tìm hiểu sâu hơn về dữ liệu. Điều này nâng cao hiệu suất truy xuất và tổng hợp dữ liệu khi sử dụng bộ lọc phạm vi thời gian. Chúng tiết kiệm chi phí hơn so với việc sử dụng cơ sở dữ liệu quan hệ truyền thống

Các giá trị trong Chuỗi thời gian thường sẽ không thay đổi sau khi chúng được ghi lại; . Hành động cập nhật là cực kỳ hiếm sau khi dữ liệu đã được lưu

Nguyên tắc lưu trữ dữ liệu chuỗi thời gian MongoDB trong Ubuntu 20. 04

Chúng tôi có một số hướng dẫn về dữ liệu chuỗi thời gian trong MongoDB, được nêu bên dưới

  • Xem xét các tính năng dữ liệu và mẫu truy vấn trong khi điều chỉnh dữ liệu của bạn cho metaField và timeField phù hợp
  • Khi có thể, hãy kết hợp dữ liệu chuỗi thời gian và bộ sưu tập chuỗi thời gian
  • Các phép đo riêng lẻ hoặc bộ phép đo phải được lưu dưới dạng một tài liệu và được thêm vào theo đợt khi sử dụng bộ sưu tập chuỗi thời gian
  • Tùy chỉnh mức độ chi tiết dữ liệu của chúng tôi về các giá trị thuộc tính của metaField hoặc các cặp riêng biệt của metaField duy nhất của chúng tôi, dựa trên tốc độ lấy dữ liệu của chúng tôi

Cách sử dụng MongoDB chuỗi thời gian trong Ubuntu 20. 04

Khi làm việc với dữ liệu chuỗi thời gian, bạn thường cần nhiều thứ hơn là chỉ lưu trữ; . MongoDB hiện xử lý dữ liệu chuỗi thời gian nguyên bản, kể từ MongoDB 5. 0. Các tùy chọn sau phải được chỉ định khi đưa ra bộ sưu tập chuỗi thời gian trong MongoDB

Xóa chuỗi thời gian MongoDB

Lệnh createCollection() có thể được sử dụng để bắt đầu bộ sưu tập chuỗi thời gian mới

trường thời gian. Tùy chọn trường thời gian phải được sử dụng khi tạo bộ sưu tập chuỗi thời gian. Trường thời gian biểu thị mô tả thuộc tính trong mỗi tài liệu chứa ngày. Chúng ta cũng nên xem xét các lựa chọn thay thế sau

siêu trường. MetaField chỉ định tên của cột trong mỗi tài liệu chứa siêu dữ liệu. MetaField hoạt động như một nhãn hoặc thẻ cho phép các bộ sưu tập chuỗi thời gian xác định nguồn của chuỗi thời gian. Trường này không nên và chỉ nên thay đổi theo thời gian

độ chi tiết. Nếu một metaField phù hợp được cung cấp, thuộc tính độ chi tiết sẽ chỉ định khoảng cách thời gian giữa các tài liệu. Độ chi tiết tiêu chuẩn là “giây”, biểu thị tốc độ nhập tần số cao cho mỗi chuỗi thời gian được xác định bởi metaField. Độ chi tiết có thể được điều chỉnh thành “giây”, “phút” hoặc “giờ” và có thể thay đổi bất cứ lúc nào để làm cho nó tồi tệ hơn. Tuy nhiên, vì bạn không thể thay đổi độ chi tiết từ “phút” thành “giây”, nên tốt nhất bạn nên bắt đầu với độ chi tiết nhỏ hơn và tiến dần đến độ chi tiết cao hơn

hết hạnSau giây. Cuối cùng, nếu bạn có ý định xóa dữ liệu sau một khoảng thời gian đã chỉ định, chúng tôi có thể bao gồm trường expireafterSeconds chỉ định số giây sẽ trôi qua trước khi tài liệu hết hạn và tự động bị hủy

Chèn tài liệu với chuỗi thời gian trong MongoDB

Ít nhất, mỗi tài liệu được thêm vào bộ sưu tập chuỗi thời gian phải xác định trường thời gian. Ngày là timeField trong tài liệu minh họa bên dưới. Điều đáng chú ý là timeField có thể được gọi là bất cứ điều gì bạn muốn miễn là nó thuộc loại BSON hoặc Ngày. Bất kỳ kỹ thuật nào để chèn tài liệu vào các bộ sưu tập MongoDB khác đều có thể được sử dụng để thêm tài liệu vào bộ sưu tập chuỗi thời gian. Đối với điều này, chúng tôi đã tạo một bộ sưu tập “webVisitor” như sau

Xóa chuỗi thời gian MongoDB

Một phép đo duy nhất nên được bao gồm trong mỗi tài liệu chúng tôi chèn. Sử dụng lệnh sau để chèn nhiều tài liệu cùng một lúc

Xóa chuỗi thời gian MongoDB

Truy xuất dữ liệu chuỗi thời gian trong MongoDB trong Ubuntu 20. 04

Các tài liệu chuỗi thời gian có thể được truy vấn giống như các tài liệu từ các bộ sưu tập khác của MongoDB. Ví dụ: với MongoDB Shell, chúng tôi đã sử dụng findOne để tìm tài liệu trong bộ sưu tập webVisitors() như sau

Xóa chuỗi thời gian MongoDB

Truy vấn trước hiển thị các kết quả sau, như bạn có thể thấy

Xóa chuỗi thời gian MongoDB

Tổng hợp dữ liệu chuỗi thời gian trong MongoDB trong Ubuntu 20. 04

Ở đây, chúng tôi đã sử dụng một đường dẫn tổng hợp, chẳng hạn như để thêm nhiều chức năng truy vấn hơn. Quy trình tổng hợp ví dụ sau kết hợp tất cả các tài liệu theo dữ liệu đo lường và sau đó cung cấp giá trị trung bình của tất cả các phép đo của khách truy cập được thực hiện vào ngày đó của trang web

Xóa chuỗi thời gian MongoDB

Khi chúng tôi thực hiện quy trình tổng hợp trên bộ sưu tập trang webKhách truy cập, đầu ra đã tạo ra giá trị trung bình của tài liệu của khách truy cập từ bộ sưu tập “trang webKhách truy cập” như sau

Xóa chuỗi thời gian MongoDB

Phần kết luận

Có rất nhiều dữ liệu chuỗi thời gian, nhưng việc duy trì và truy cập dữ liệu đó có thể khó khăn. MongoDB đã nhận được hỗ trợ riêng cho chuỗi thời gian, giúp làm việc với dữ liệu chuỗi thời gian dễ dàng hơn, nhanh hơn và ít tốn kém hơn. Chúng tôi đã giới thiệu ngắn gọn với một số nguyên tắc sử dụng chuỗi thời gian trong MongoDB. Chúng tôi có một số minh họa về chuỗi thời gian minh họa cách chúng tôi có thể sử dụng chuỗi thời gian trong bộ sưu tập MongoDB theo một số cách có thể

MongoDB có tốt cho dữ liệu chuỗi thời gian không?

MongoDB là cơ sở dữ liệu có mục đích chung dựa trên tài liệu với thiết kế lược đồ linh hoạt và ngôn ngữ truy vấn phong phú. Kể từ MongoDB 5. 0, MongoDB vốn hỗ trợ dữ liệu chuỗi thời gian .

Làm cách nào để xóa bản ghi trong MongoDB?

Trình vỏ MongoDB cung cấp các phương thức sau để xóa tài liệu khỏi bộ sưu tập. .
Để xóa nhiều tài liệu, hãy sử dụng db. thu thập. xóaMany()
Để xóa một tài liệu, hãy sử dụng db. thu thập. xóaOne()

Làm cách nào để tự động xóa các bản ghi MongoDB sau một thời gian nhất định với cầy mangut?

Để sử dụng điều này trong Mongoose, bạn cần tạo một chỉ mục trên bộ sưu tập bằng cú pháp này. MySchema. index( { "expireAt". 1 }, { hết hạnSau giây. 0 } ); Bạn cũng cần tạo một trường trong lược đồ có tên là expireAt và thêm thời gian mà bạn muốn tài liệu hết hạn khi thêm tài liệu vào bộ sưu tập.

Làm cách nào để xóa tất cả dữ liệu khỏi MongoDB?

Để xóa tất cả tài liệu trong bộ sưu tập, hãy chuyển một tài liệu trống ( {} ) . Không bắt buộc. Để giới hạn việc xóa chỉ một tài liệu, hãy đặt thành true. Bỏ qua để sử dụng giá trị mặc định là sai và xóa tất cả các tài liệu phù hợp với tiêu chí xóa.