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

使用Python从MongoDB Atlas获取数据仅显示10条的问题

解决MongoDB Atlas查询仅返回10条数据的问题

你的代码里find()返回的是pymongo的游标对象,它默认会分批从MongoDB服务器拉取数据,免费版Atlas集群的默认批次大小可能是10,再加上终端输出可能截断,就会看起来只拿到10条数据。另外也有可能你误以为没遍历完所有数据,或者需要先确认集合实际数据量。

这里给你几个解决方法:

  • 一次性获取所有数据到列表
    把游标直接转成列表,就能一次性拿到所有文档,之后再遍历输出:
from pymongo import MongoClient
from pprint import pprint
client = MongoClient("mongodb+srv://####:#####@cluster0.0gdmi0s.mongodb.net/retryWrites=true&w=majority")
db = client.test
# 转换为列表获取全部文档
all_docs = list(db.user.find())
for doc in all_docs:
     pprint(doc)
# 顺便打印总数量确认
print(f"集合总共有 {len(all_docs)} 条文档")
  • 调整游标批次大小
    如果集合数据量很大,不想一次性加载到内存,可以手动设置更大的批次大小,让游标每次拉取更多数据:
cursor = db.user.find(batch_size=100)  # 每次拉取100条
for doc in cursor:
    pprint(doc)
  • 先确认集合实际数据量
    先查一下集合里到底有多少条数据,排除是集合本身只有10条的情况:
total_count = db.user.count_documents({})
print(f"集合总文档数:{total_count}")

内容的提问来源于stack exchange,提问作者Muhammad Nihal C

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:05:24