【问题标题】:How to find the max length of an array from a set of documents present in a collection in MongoDB?如何从 MongoDB 集合中存在的一组文档中找到数组的最大长度?
【发布时间】:2021-08-04 16:07:50
【问题描述】:

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

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

我想在所有存在的文档中找到提交次数最多的文档。 是否有任何 Mongo 查找/聚合查询可以做到这一点?

【问题讨论】:

    标签: python-3.x mongodb pymongo pymongo-3.x flask-pymongo


    【解决方案1】:

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

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

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

    Playground

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 2020-12-12
      • 2019-06-15
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多