MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB - Interroger entre une plage horaire d'heures

Eh bien, la meilleure façon de résoudre ce problème est de stocker également le procès-verbal séparément. Mais vous pouvez contourner ce problème avec le cadre d'agrégation, bien que ce ne soit pas va être très rapide :

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

Dans la première étape $project , on calcule les minutes à partir de hour * 60 + min auquel nous comparons ensuite dans la deuxième étape :$match .