zoukankan      html  css  js  c++  java
  • 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来访问数据的。

        

  • 相关阅读:
    Maven私服安装
    Maven运行的方式
    Maven传递依赖的范围
    Maven子模块
    Maven父工程
    Maven项目指定JDK版本
    Maven传递依懒
    Maven概念模型
    Swift -欢迎界面1页, 延长启动图片的显示时间(LaunchImage)
    Swift
  • 原文地址:https://www.cnblogs.com/tangchuanyang/p/3931065.html
Copyright © 2011-2022 走看看