我在 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 }
])