Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mongodb :Query berdasarkan waktu dalam format ISODate

Salah satu pendekatannya adalah dengan menggunakan kerangka kerja agregasi , khususnya $redact operator yang menghapus aliran dokumen dari konten berdasarkan nilai dalam dokumen dan sub-dokumennya. Bergantung pada hasil ekspresi boolean, dokumen dapat dipangkas dari aliran, dimasukkan ke dalam aliran setelah sub-dokumennya juga diperiksa, atau baru saja lulus lengkap ke dalam aliran. Ide di balik $redact adalah mempermudah penghapusan informasi sensitif dari aliran.

Dalam kasus Anda, ekspresi kriteria menggunakan $cond dan $and operator boolean untuk menyatakan logika AND antara rentang waktu dengan operator pembanding $gt dan $lt . Gunakan $hour operator tanggal untuk mengembalikan jam untuk date bidang sebagai angka antara 0 dan 23. Dengan demikian, agregasi akhir Anda terlihat seperti ini:

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

Contoh Keluaran:

/* 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. SQL memperbarui kolom terhitung

  2. Bagaimana cara membandingkan variabel set pengguna di MySQL?

  3. Cara mencocokkan karakter sampah di database mysql dengan huruf arab dengan PHP dan MYSQL

  4. Memulihkan database mysql memberikan kesalahan

  5. phpexcel ekspor ke excel dengan gambar