python 的pymongo db.collection.find()出来是个游标,怎么才能转成数据?

 majiemajiemajie 发布于 2022-10-26 16:47

find出来直接print是

网上看到的都是遍历,如果我想把find出来的结果保存到一个列表就不能保存了,所以请问大神要怎么弄?

4 个回答
  • 其实很简单的,上面的答案都是遍历,在python中

    array = list(posts.find())#posts是我的collection
    type(array)
    #list

    补充一下

    #list to datafram
    import pandas as pd
    df = pd.DataFrame(array)
    2022-10-27 01:26 回答
  • 我知道得就是遍历游标一个一个append到列表中去,难道还有其他办法?求大神指导

    2022-10-27 01:26 回答
  • 在pymongo中使用find是得到1个游标对象的,如果你想实现MongoDB shell中find操作,例如:

    > db.test.find()
    { "_id" : ObjectId("5838531e0f3577fc9178b834"), "name" : "zhangsan" }

    在pymongo中需要使用find_one方法而不是find方法:

    >>> print db.test.find_one()
    {u'_id': ObjectId('5838531e0f3577fc9178b834'), u'name': u'zhangsan'}
    
    >>> print db.test.find()
    <pymongo.cursor.Cursor at 0x7f4ac789e450>
    >>> result = []
    >>> for x in db.test.find():
              result.append(x)
    >>> print(result)
    >>> [{u'_id': ObjectId('5838531e0f3577fc9178b834'), u'name': u'zhangsan'},...]

    这样就可以得到多条数据了。

    2022-10-27 01:26 回答
  • >>> db.test.find()
    <pymongo.cursor.Cursor object at 0x108dabf50>
    >>>
    >>> list(db.test.find())
    [{'_id': ObjectId('5839b12eee86fb71849a0905'), 'name': 'Tom'},
     {'_id': ObjectId('5839b134ee86fb71849a0906'), 'name': 'Jim'}]
    2022-10-27 01:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有