1
我有一個使用MongoDB的聚合框架的現有報告,我想添加一個新的字段 - 一個數字字段之一小於給定值的所有文檔的計數。MongoDB聚合管道:用字段計數文檔小於值?
我的文檔有一個長度字段,我已經計算出了平均值,所以除了這個之外,我還希望文檔的數量低於某個數字。
我目前聚集的管道很簡單:
db.streams.aggregate([
{ $match: { track_id: "ecb96af4537d4263b83f5675dbcc0388" }},
{ $group: { _id: "$source", listens: { $sum: 1 } } }
])
我使用$sum
和$lt
嘗試過,但數量始終是0。我猜這是因爲只有$sum
當返回1
時計數,但$lt
返回true
。這是我的嘗試:
db.streams.aggregate([{
$match: {
track_id: "ecb96af4537d4263b83f5675dadd0388"
}
}, {
$group: {
_id: "$source",
listens: {
$sum: 1
},
skips: {
$sum: {
$lt: ["$length", 1000]
}
}
}
}, ])
有誰知道我能做到這一點?謝謝!
完美,太感謝你了! –