如何用MongoDB聚合统计符合条件的receiverNumbers数组元素长度?
MongoDB聚合统计满足条件的数组元素总数
你可以通过以下聚合管道实现需求:
- 拆分数组:使用
$unwind将每个文档的receiverNumbers数组拆分为独立文档,每个文档对应原数组中的一个元素。 - 过滤条件:用
$match筛选出resultSend.send属性为true的文档。 - 统计总数:通过
$count得到最终符合条件的元素总数量。
完整聚合命令:
db.yourCollectionName.aggregate([ // 拆分receiverNumbers数组 { $unwind: "$receiverNumbers" }, // 过滤出resultSend.send为true的元素 { $match: { "receiverNumbers.resultSend.send": true } }, // 统计总数 { $count: "successSendCount" } ])
补充说明
- 把
yourCollectionName替换成你的实际集合名称。 - 执行后会返回一个包含
successSendCount字段的文档,其值就是所有符合条件的元素总数。
内容的提问来源于stack exchange,提问作者Amir_NOT
相关产品推荐
相关产品推荐

