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

Sự khác biệt MongoDB giữa đối tượng DateTime và chuỗi YYYY-MM-DD

Nếu bạn không quan tâm đến hỗ trợ múi giờ trong ứng dụng của mình, thì việc sử dụng chuỗi cho các truy vấn cơ bản trong MongoDB sẽ hoạt động tốt (nhưng nếu điều đó quan trọng, bạn sẽ muốn có một Date thực sự loại).

Tuy nhiên, nếu sau này bạn muốn tính toán ngày tháng hoặc sử dụng Khung tổng hợp với trường ngày tháng của mình, thì trường đó thực sự là một Date loại:

http://docs.mongodb.org/manual/reference/aggregation/ # toán tử ngày

Ví dụ:bạn có thể sử dụng $dayOfWeek chức năng trên Date trường đã nhập.

Bạn có thể thực hiện một số việc đơn giản như nhóm vào năm bằng cách sử dụng $substr ( doc ) trong MongoDB, nhưng mã kết quả sẽ không rõ ràng (cũng không có khả năng hoạt động tốt).

Mặc dù đó không phải là sự khác biệt lớn, nhưng tôi khuyên bạn nên lưu trữ chúng dưới dạng Date nói chung là các loại nếu có thể.

Tôi thấy trong tài liệu cho trình điều khiển Perl mà các nhà phát triển được cảnh báo không sử dụng DateTime do thực tế là nó rất chậm, vì vậy có thể nếu bạn sử dụng Perl thường xuyên và Khung tổng hợp không phải là vấn đề lớn, tốt hơn hết bạn nên lưu trữ chúng dưới dạng số hoặc dưới dạng chuỗi và chuyển đổi chúng khi cần thiết trong Perl.

Nếu không gian là một vấn đề, hãy xóa các ký tự không cần thiết (chẳng hạn như - ):

20130613 -> 
    4 bytes for length of string 
    8 bytes encoded as UTF-8
    NULL character

Đó sẽ là 13 ký tự. Giá trị DateTime trong BSON Mặt khác / MongoDB yêu cầu 8 byte (như Perl $time chức năng).

(Tôi thực sự khuyên bạn nên thực hiện một chút kiểm tra hiệu suất để tìm hiểu xem tác động hiệu suất của việc sử dụng Date nhập MongoDB bằng Perl sẽ ảnh hưởng đến quy trình công việc điển hình của bạn.)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Con trỏ trong MongoDB là gì?

  2. Làm thế nào để viết một truy vấn để nhận các giá trị khác biệt từ bộ sưu tập mongodb?

  3. Chơi! 2 Framework - Thêm trình điều khiển Java Mongo

  4. Mongoimport để hợp nhất / nâng cấp các trường

  5. Truy vấn kho lưu trữ với tham số Danh sách trong Spring Data MongoDB