Python 3.x 如何从MongoDB集合中的一组文档中查找数组的最大长度?

Python 3.x 如何从MongoDB集合中的一组文档中查找数组的最大长度?,python-3.x,mongodb,pymongo,pymongo-3.x,flask-pymongo,Python 3.x,Mongodb,Pymongo,Pymongo 3.x,Flask Pymongo,我有'n'在MongoDB中收藏的文档数量。 这些文件的结构如下: { "_id": "...", "submissions": [{...}, ...] } 我想在所有提交的文件中找到提交数量最多的文件。 有没有Mongo find/aggregation查询可以做到这一点?我不认为有任何直接的方法可以做到这一点 您可以尝试下面的聚合查询 $addFields添加新字段totalSubmissions获取submi

我有'n'在MongoDB中收藏的文档数量。 这些文件的结构如下:

{
    "_id": "...",
    "submissions": [{...}, ...]
}
我想在所有提交的文件中找到提交数量最多的文件。
有没有Mongo find/aggregation查询可以做到这一点?

我不认为有任何直接的方法可以做到这一点

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

  • $addFields
    添加新字段
    totalSubmissions
    获取
    submissions
    数组中的元素总数
  • $sort
    totalSubmissions
    降序排列
  • $limit
    选择单个文档

collection.aggregate([
  { $addFields: { totalSubmissions: { $size: "$submissions" } } },
  { $sort: { totalSubmissions: -1 } },
  { $limit: 1 }
])