Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mongodb :Zapytanie na podstawie czasu w formacie ISODate

Jednym z podejść jest użycie struktury agregacji , w szczególności $redact operator, który usuwa strumień treści z dokumentu na podstawie wartości w dokumencie i jego dokumentach podrzędnych. W zależności od wyniku wyrażenia logicznego dokument może zostać usunięty ze strumienia, włączony do strumienia po sprawdzeniu jego dokumentów podrzędnych lub po prostu przekazany w całości do strumienia. Idea stojąca za $redact jest ułatwienie usuwania poufnych informacji ze strumienia.

W Twoim przypadku wyrażenie kryteriów używa $cond operator i $and operator logiczny do wyrażenia logicznego AND między zakresami czasu z operatorami porównania $gt i $lt . Użyj $hour operator daty zwraca godzinę dla daty pole jako liczbę z zakresu od 0 do 23. Tak więc Twoja końcowa agregacja wygląda tak:

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

Przykładowe wyjście:

/* 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. Eksportuj MySQL do CSV, niektóre kolumny z cudzysłowami, a niektóre bez

  2. MySQL a bazy danych plików

  3. Lista kategorii i podkategorii mysql

  4. Mysql zamienia ' w â € ™?

  5. Czy istnieje konwencja nazewnictwa dla MySQL?