1

我在 MongoDB 的集合中存在“n”个文档。这些文件的结构如下:

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

我想在所有存在的文件中找到提交次数最多的文件。有没有可以做同样事情的 Mongo 查找/聚合查询?

4

1 回答 1

1

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

您可以尝试以下聚合查询,

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

操场

于 2021-05-14T14:24:55.173 回答