sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB - Forespørgsel mellem et tidsinterval på timer

Den bedste måde at løse dette på er at gemme også referaterne separat. Men du kan komme uden om dette med aggregeringsrammen, selvom det ikke er det kommer til at gå meget hurtigt:

db.so.aggregate( [ 
    { $project: {
        loc: 1,
        vid: 1,
        datetime_recorded: 1, 
        minutes: { $add: [
            { $multiply: [ { $hour: '$datetime_recorded' }, 60 ] }, 
            { $minute: '$datetime_recorded' } 
        ] } 
    } },
    { $match: { 'minutes' : { $gte : 12 * 60, $lt : 16 * 60 } } }
] );

I det første trin $project , beregner vi minutter fra hour * 60 + min som vi så matcher mod i andet trin:$match .



  1. Rescue Timeout::Fejl fra Redis Gem (Ruby)

  2. Atomicitet, isolation og samtidighed i MongoDB

  3. MongoDB:Hent kun dokumenter oprettet inden for de sidste 24 timer?

  4. Sådan implementerer du ClusterControl på AWS for at administrere din clouddatabase