2012-02-14 40 views
7

Có sự khác biệt nào giữa việc sử dụng PHP time() và sử dụng new MongoDate() không? Tôi cần lưu trữ ngày created_at và updated_at cho mỗi tài liệu trong bộ sưu tập mongoDB để tôi có thể truy vấn chúng theo ngày (ví dụ: tài liệu được cập nhật tuần trước).Sự khác biệt giữa thời gian() và MongoDate mới()?

Từ những gì tôi có thể thấy thời gian() và MongoDate mới() tạo ra cùng một kết quả?

+0

Vui lòng thêm hai ví dụ tạo ra cùng một kết quả nhưng khác với trường hợp của bạn. Nếu không nó không thực sự rõ ràng những gì bạn tự hỏi về. – hakre

Trả lời

6

Đó là bởi vì time() là mặc định cho các nhà xây dựng MongoDate, từ hướng dẫn:

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]]) 

Bạn nên sử dụng MongoDate đối tượng để truy vấn MongoDB.

Nếu bạn sử dụng đầu ra thô của time(), bạn sẽ lưu trữ/truy vấn cho một số nguyên. Khi bạn sử dụng MongoDate, bạn sẽ sử dụng số Date type của MongoDB cung cấp cho bạn một số lợi ích bổ sung.

+0

Vì vậy, tôi có thể sử dụng time() để lưu dấu thời gian cho DB? Tại sao tôi nên sử dụng MongoDate khi chạy truy vấn? –

+0

@ Jonathan Clark xem câu trả lời cập nhật để được giải thích thêm. – Mchl

+0

Aha ok. Như MongoId thì sao? Nhưng ngày trông giống hệt nhau trong tài liệu? Không nên khác biệt? –

Các vấn đề liên quan