And*_*ghi 12 mongodb mongodb-query aggregation-framework
我想投影一个集合,仅当字段在范围内时才应用导出值.
有点:
db.workouts.aggregate({
$match: { user_id: ObjectId(".....") }
},
{
$project: {
'20': { $cond: [ {$gt: [ "$avg_intensity", 20]} , '$total_volume', 0] }
}
})
Run Code Online (Sandbox Code Playgroud)
只有当avg_intensity在某个范围内时我才需要获取值.然后,我将对投影结果进行分组和总结.
我想要做的是应用$ gt和$ lt过滤器,但没有太大的成功.
db.workouts.aggregate(
{
$match: { user_id: ObjectId("....") }
},
{
$project: {
'20': { $cond: [ [{$gt: [ "$avg_intensity", 20]}, {$lt: [ "$avg_intensity", 25]}] , '$total_volume', 0] }
}
})
Run Code Online (Sandbox Code Playgroud)
我如何应用$ gt和$ lt条件?
Nei*_*unn 20
要在$cond运算符下组合逻辑条件,请使用运算符包装条件$and:
db.workouts.aggregate([
{ "$match": { "user_id": ObjectId("....") }},
{ "$project": {
"20": { "$cond": [
{ "$and": [
{ "$gt": [ "$avg_intensity", 20 ] },
{ "$lt": [ "$avg_intensity", 25 ] }
]},
"$total_volume",
0
]}
}}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15087 次 |
| 最近记录: |