如何从 MongoDB 中集合中存在的一组文档中找到数组的最大长度?

How to find the max length of an array from a set of documents present in a collection in MongoDB?

我在 MongoDB 的一个集合中有 'n' 个文档。 这些文件的结构如下:

{
    "_id": "...",
    "submissions": [{...}, ...]
}

我想在现有的所有文档中找到提交次数最多的文档。 是否有任何 Mongo find/aggregation 查询可以做同样的事情?

我认为没有任何直接的方法可以实现这一点,

您可以试试下面的聚合查询,

  • $addFields 添加新字段 totalSubmissions 获取 submissions 数组中的总元素
  • $sorttotalSubmissions 降序排列
  • $limit 到 select 单个文档
collection.aggregate([
  { $addFields: { totalSubmissions: { $size: "$submissions" } } },
  { $sort: { totalSubmissions: -1 } },
  { $limit: 1 }
])

Playground