mongodb - Mongo db aggregation multiple conditions -


i want project collection applying exporting value if field inside range.

sort of:

db.workouts.aggregate({  $match: { user_id: objectid(".....") } }, {  $project: {          '20': { $cond: [ {$gt: [ "$avg_intensity", 20]} , '$total_volume', 0] }     }      }) 

i need value if avg_intensity inside range. group , sum on projection result.

what trying applying $gt , $lt filter no success.

db.workouts.aggregate( {    $match: { user_id: objectid("....") } }, { $project: {          '20': { $cond: [ [{$gt: [ "$avg_intensity", 20]}, {$lt: [ "$avg_intensity", 25]}] ,    '$total_volume', 0] }     }      }) 

how may apply both $gt , $lt conditions?

to combine logical conditions under $cond operator wrap conditions $and operator:

db.workouts.aggregate([     { "$match": { "user_id": objectid("....") }},     { "$project": {         "20": { "$cond": [            { "$and": [                 { "$gt": [ "$avg_intensity", 20 ] },                { "$lt": [ "$avg_intensity", 25 ] }            ]},                "$total_volume",             0        ]}    }} ]) 

Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -