问题描述
我在 MongoDB 的集合中存在 'n' 个文档。 这些文件的结构如下:
{
"_id": "...","submissions": [{...},...]
}
我想找到所有文档中提交次数最多的文档。 是否有任何 Mongo 查找/聚合查询可以做同样的事情?
解决方法
我认为没有任何直接的方法可以实现这一目标,
您可以尝试以下聚合查询,
-
$addFields
添加新字段totalSubmissions
以获取submissions
数组中的总元素 -
$sort
按totalSubmissions
降序排列 -
$limit
选择单个文档
collection.aggregate([
{ $addFields: { totalSubmissions: { $size: "$submissions" } } },{ $sort: { totalSubmissions: -1 } },{ $limit: 1 }
])