【发布时间】:2021-08-04 16:07:50
【问题描述】:
我在 MongoDB 的集合中存在 'n' 个文档。 这些文件的结构如下:
{
"_id": "...",
"submissions": [{...}, ...]
}
我想在所有存在的文档中找到提交次数最多的文档。 是否有任何 Mongo 查找/聚合查询可以做到这一点?
【问题讨论】:
标签: python-3.x mongodb pymongo pymongo-3.x flask-pymongo
我在 MongoDB 的集合中存在 'n' 个文档。 这些文件的结构如下:
{
"_id": "...",
"submissions": [{...}, ...]
}
我想在所有存在的文档中找到提交次数最多的文档。 是否有任何 Mongo 查找/聚合查询可以做到这一点?
【问题讨论】:
标签: python-3.x mongodb pymongo pymongo-3.x flask-pymongo
我认为没有任何直接的方法可以实现这一目标,
你可以试试下面的聚合查询,
$addFields 添加新字段 totalSubmissions 以获取 submissions 数组中的总元素$sort totalSubmissions 按降序排列$limit选择单个文档collection.aggregate([
{ $addFields: { totalSubmissions: { $size: "$submissions" } } },
{ $sort: { totalSubmissions: -1 } },
{ $limit: 1 }
])
【讨论】: