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