1
MongoDBの集計フレームワークを使用した既存のレポートがあります。新しいフィールドを追加したいと思います。数値フィールドの1つが指定された値より小さいすべてのドキュメントの数です。MongoDB集約パイプライン:フィールドを持つドキュメントのカウントが値よりも小さいですか?
私のドキュメントには長さフィールドがあります。これはすでに平均値を計算しています。これに加えて、特定の数値よりも低いドキュメント数が必要です。
私の現在の集約パイプラインは非常に簡単です:
db.streams.aggregate([
{ $match: { track_id: "ecb96af4537d4263b83f5675dbcc0388" }},
{ $group: { _id: "$source", listens: { $sum: 1 } } }
])
私はこれが唯一の理由$sum
です推測している私は$sum
と$lt
を使用してみましたが、カウントは常に0です。 1
が返されたときにカウントされますが、$lt
はtrue
を返します。これは私が試したものです:
db.streams.aggregate([{
$match: {
track_id: "ecb96af4537d4263b83f5675dadd0388"
}
}, {
$group: {
_id: "$source",
listens: {
$sum: 1
},
skips: {
$sum: {
$lt: ["$length", 1000]
}
}
}
}, ])
誰が、私はこれを達成することができます方法を知っていますか?ありがとうございました!
パーフェクトのようなネストされた条件を追加することができます! –