Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mongodb:Truy vấn dựa trên thời gian ở định dạng ISODate

Một cách tiếp cận là sử dụng khung tổng hợp , cụ thể là $ redact toán tử tách dòng tài liệu của nội dung dựa trên các giá trị trong tài liệu và các tài liệu con của nó. Tùy thuộc vào kết quả của biểu thức boolean, một tài liệu có thể được cắt bớt khỏi luồng, được đưa vào luồng sau khi các tài liệu con của nó cũng đã được kiểm tra hoặc chỉ được chuyển hoàn chỉnh vào luồng. Ý tưởng đằng sau $ redact là giúp dễ dàng xóa thông tin nhạy cảm khỏi luồng.

Trong trường hợp của bạn, biểu thức tiêu chí sử dụng $ cond toán tử và $ và toán tử boolean để thể hiện logic AND giữa các phạm vi thời gian với các toán tử so sánh $ gt $ lt . Sử dụng $ giờ toán tử ngày tháng để trả lại giờ cho date trường dưới dạng một số từ 0 đến 23. Vì vậy, tổng hợp cuối cùng của bạn trông giống như sau:

db.collection.aggregate([
    {
        "$redact": {
            "$cond": {
                "if": { 
                    "$and": [
                        { "$gt": [ {"$hour": "$date"}, 4] },
                        { "$lt": [ {"$hour": "$date"}, 8] }
                    ]                 
                },
                "then": "$$KEEP",
                "else": "$$PRUNE"
            }
        }        
    }
])

Đầu ra mẫu:

/* 0 */
{
    "result" : [ 
        {
            "_id" : ObjectId("56404450472fe25cc6b85886"),
            "date" : ISODate("2015-11-09T05:58:19.474Z")
        }, 
        {
            "_id" : ObjectId("56404450472fe25cc6b85887"),
            "date" : ISODate("2014-10-25T07:30:00.241Z")
        }
    ],
    "ok" : 1
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Chọn ngày gần đây nhất trong số một số dấu thời gian có thể có?

  2. Xếp hạng với hàng triệu mục nhập

  3. Làm cách nào để chuyển đổi thời gian MySQL sang dấu thời gian UNIX bằng PHP?

  4. Làm cách nào để xuất cơ sở dữ liệu mysql bằng Command Prompt?

  5. Đặt kết quả của một truy vấn thành một biến trong MySQL