sql >> Database >  >> RDS >> Mysql

Mongodb :Query op basis van tijd in ISODate-formaat. Wat is er mis in mijn query?

De zoekopdracht levert geen resultaten op omdat de $hour operator wordt alleen toegepast in de aggregatiepijplijn, niet de find() vraag. Dus in uw aggregatie heeft uw pijplijn twee stappen, de $project waarmee een nieuw veld wordt gemaakt dat het uurgedeelte en de volgende fase bevat $match die vervolgens de documenten opvraagt.

Uw uiteindelijke aggregatiebewerking ziet er dus als volgt uit:

var pipeline = [
    {
        "$project": {
            "hour": { "$hour": "$date" },
            "date": 1
        }
    },
    {
        "$match": {
            "hour": { "$gt": 4,  "$lt": 8}
        }
    }
]

db.collection.aggregate(pipeline);



  1. Hoe ga je om met meerdere TimeZones in applicaties die data en tijden opslaan?

  2. PostgreSQL integreren met authenticatiesystemen

  3. Tekenset wijzigen van latin1 naar UTF8 in MySQL

  4. Zend_Db:Hoe het aantal rijen uit een tabel halen?