开发者社区> 问答> 正文

python mongo如何高效遍历

`for i in db.users.find():

print i `

相当于每次循环请求一次mongo 效率奇低
能不能像find_one一样直接拿到数据放在内存中?

展开
收起
蛮大人123 2016-06-14 17:23:12 7276 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    对于大规模的遍历,我觉得可以考虑:

    使用EXHAUST类型的cursor,这样可以让mongo一批一批的返回查询结果,并且在client请求之前把数据stream过来。
    在find指定batch_size,默认值貌似是101个document或者size超过1M,可以设定更大的batch_size来指定route trip的数量,详见https://docs.mongodb.com/manual/tutorial/iterate-a-cursor/#cursor-batches

    2019-07-17 19:38:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载