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

Tôi muốn truy xuất các giá trị được chèn vào ngày cụ thể bằng cách sử dụng _id of mongodb

Mặc dù đúng là ObjectId một phần dựa trên "dấu thời gian", nhưng nói chung đây là hoạt động của thư viện "máy khách" để "trích xuất" ngày này từ giá trị ObjectId.

Bạn có thể thực hiện việc này với đánh giá JavaScript của $where , nhưng nó sẽ cần "quét" toàn bộ bộ sưu tập, do đó không hiệu quả lắm:

 db.collection.find(function() {
     return (
        ( this._id.getTimestamp().valueOf() - 
          this._id.getTimestamp().valueOf() % ( 1000 * 60 * 60 * 24 ) )
        == new Date("2014-07-14").valueOf() );
 })

Điều đó về cơ bản sẽ so sánh xem liệu ObjectId được tạo vào cùng ngày với ngày được cung cấp. Các phương pháp hoặc phép toán ngày tháng khác áp dụng cho các khoảng thời gian khác.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoParseError:các tùy chọn useCreateIndex, useFindAndModify không được hỗ trợ

  2. Cập nhật Subdocument trong Mongodb lưu trữ (các) id

  3. Làm cách nào để lấy tên từ id trong mongoose?

  4. Thay đổi kiểu _id trong MongoDB thành số nguyên có tệ không?

  5. Sắp xếp tổng hợp MongoDB không hoạt động