You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PyMongo中从MongoDB数据库选取N个最大值

获取MongoDB集合中前N个分数最高的文档

要获取集合中基于score字段的前N个最大项,你可以结合PyMongo的find()、sort()和limit()方法实现,替代仅返回单个文档的find_one()。

示例代码(获取前10名)

# 查询并返回前10个分数最高的文档
top_n = leaderboard_data.find().sort("score", -1).limit(10)

# 遍历输出结果
for item in top_n:
    print(f"用户名: {item['username']}, 分数: {item['score']}")

方法说明

  • find():用于查询集合中的文档,默认返回所有匹配文档(配合后续方法筛选)
  • sort("score", -1):按score字段降序排列,-1代表降序,1则为升序
  • limit(10):限制返回结果的数量为10,替换成你需要的N值即可

提取特定字段列表

如果只需要提取分数或用户名的列表,可用列表推导式:

# 获取前10名的分数列表
top_scores = [doc["score"] for doc in leaderboard_data.find().sort("score", -1).limit(10)]

# 获取前10名的用户名列表
top_users = [doc["username"] for doc in leaderboard_data.find().sort("score", -1).limit(10)]

内容的提问来源于stack exchange,提问作者SaltyScrimp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 10:04:59