首页 > 代码库 > python使用 db.select 返回的数据只能遍历一次
python使用 db.select 返回的数据只能遍历一次
python中通过find从mongo中查出的数据,或者通过select返回的数据,其实返回的是游标,当你进行便利一次之后,游标指向最后,
所以当你再一次进行便利时,便出现数据为空的现象。
解决办法:通过list()进行数据的强制转换 lists = list(mongo中返回的数据)
但是这样又会出现新的问题:
1.list转换后的数据只有指,没有列明
2.数据过大时,进行数据转换时性能炒鸡差。。
解决办法:
1.使用namedtuple 和 map object。
2.使用map和namedtuple的时候,游标要使用fetchall()方法。一次行取出所有结果,然后调用map方法将所有的数据map到Record object上。
3.返回的map object可以调用for方法进行遍历。map object类似一个Record object列表。
4.namedtuple生成的对象,访问的时候是用dot来访问数据的。
python使用 db.select 返回的数据只能遍历一次
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。