sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - Fråga mellan ett tidsintervall på timmar

Det bästa sättet att lösa detta är att lagra protokollet också separat. Men du kan komma runt detta med aggregeringsramverket, även om det inte är det kommer att gå väldigt snabbt:

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örsta steget $project , vi beräknar minuterna från hour * 60 + min som vi sedan matchar mot i det andra steget:$match .



  1. MongoDB - Hur är det med decimaltyp av värde?

  2. Azure Table vs MongoDB på Azure

  3. Jämföra distributionsmönster för MongoDB

  4. C# + MongoDB - ObjectId utan att använda MongoDB DataTypes/Attributes