`for i in db.users.find():
print i `
相当于每次循环请求一次mongo 效率奇低
能不能像find_one
一样直接拿到数据放在内存中?
对于大规模的遍历,我觉得可以考虑:
使用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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。