sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Query's uitvoeren tussen een tijdbereik van uren

Welnu, de beste manier om dit op te lossen is door op te slaan ook de minuten apart. Maar je kunt dit omzeilen met het aggregatieraamwerk, hoewel dat niet is gaat erg snel:

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 } } }
] );

In de eerste stap $project , berekenen we de minuten vanaf hour * 60 + min waar we vervolgens in de tweede stap tegen matchen:$match .



  1. Gebruik Redis om een ​​unieke ID te genereren uit een beperkt bereik

  2. Mongo Sorteren op aantal wedstrijden in array

  3. TypeError:db.collection is geen functie

  4. Bulk upsert in MongoDB met behulp van mangoest