MongoDB - 是否可以将 $or 与 $cond 一起使用?

Nic*_*ick 3 mongodb nosql aggregation-framework

我正在尝试根据日期范围聚合字段。我不知道如何创建一个将计算多个表达式的 $cond 表达式。我正在尝试使用逻辑 $or 运算符,但没有成功。

db.project.aggregate(
    { $match : { brand : 4 } },
    { $project : {
        _id : 0,
        brand : 1,
        count : 1,
        day : 1}
    },  
     { $group : {
        _id : "$brand",
        TotalCount : { $sum : "$count" },        
        TimeRangeCount : {$sum: { $cond: [ { $gte: [ "$day", new Date(2014, 0, 6) ], {$or: [$lte: [ "$day", new Date(2014, 0, 8) ]]} }, "$count", 0 ] }}

    }}    
    )
Run Code Online (Sandbox Code Playgroud)

是否可以将 $or 嵌套在 $cond 内?

谢谢!

Nic*_*ick 8

我相信我用 $and 得到了它

db.project.aggregate(
    { $match : { brand : 4 } },
    { 
        $project : {
            _id : 0,
            brand : 1,
            count : 1,
            day : 1
        }
    },  
    { 
        $group : {
            _id : "$brand",
            TotalCount : { $sum : "$count" },        
            TimeRangeCount : {
                $sum: { 
                    $cond: [
                        {$and: [
                            {$gte: ["dDay", new Date(2014, 0, 6)]},
                            {$lte: ["$day", new Date(2014, 0, 8)]}
                        ]}, 
                        "$count", 
                        0
                    ]
                }
            }
        }    
    }
)
Run Code Online (Sandbox Code Playgroud)