热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python–PyMongo游标迭代

我想在python中创建和处理游标,就像游标本身在mongo中工作一样.我知道预期的方法是执行’resultcollection.find()’并执行’forresultinres

我想在python中创建和处理游标,就像游标本身在mongo中工作一样.我知道预期的方法是执行’result = collection.find()’并执行’for result in result’,但我希望将迭代功能包装在一个类中.我希望能够创建一个新的类对象并调用一个函数,例如init_cursor()建立数据库连接并执行返回游标的查找.然后我想有一个get_next()函数,它将移动到下一个结果并根据结果设置类数据成员.这是pesudo代码:

class dataIter():
def __init__(self):
self.collection = pymongo.Connection().db.collection
self.cursor = self.collection.find({}) #return all
self.age = None
self.gender = None
def get_next(self):
if self.cursor.hasNext():
data = self.cursor.next()
self.set_data(data)
def set_data(self, data):
self.age = data['age']
self.gender = data['gender']

这样我就可以简单地调用:

obj.get_next()
age = obj.age
gender = obj.gender

或其他一些帮助功能,以从每个文档中提取数据

解决方法:

我不明白你所展示的是如何做的更方便:

col = pymongo.Connection().db.collection
cur = col.find({})
obj = next(cur, None)
if obj:
age = obj['age']
gender = obj['gender']

目前还不清楚这个包装器是如何有用的.此外,如果您真正关注的是ORM,那么当存在时不要重新发明轮子:http://mongoengine.org/


推荐阅读
  • 背景最近项目中用到了mongodb,并且用python的pymongo包操作。本文就把目前遇到的问题和学习经历做个小结,方便日后查询。Mongodb启动安装mongodbhttp ... [详细]
  • 我正在为我的Flask网络应用程序使用geopy库。我想将我从模态(html ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing
    https:blog.csdn.netqq_44717317articledetails104547474一、Ubuntu18.04的安装ubuntu2go的制作关于Ubuntu2 ... [详细]
  • 一.升级mongo到4.0以上安装mongodb4.0参考了这篇文章步骤1:在终端输入GPK码sudoapt-keyadv--keyserverhkp:keyserver.ubun ... [详细]
  • 如何用Python在MongoDB中导入JSON文件? ... [详细]
  • 大部分情况下爬取的数据特别灵活,不一定只有指定的几个字段数据,这时候就需要将数据存储在非关系型数据库中了,MongoDB是由C语言编写的& ... [详细]
  • Python3爬虫实战:Appium 爬取微信朋友圈[python爬虫实战]
    本节我们以Android平台为例,实现抓取微信朋友圈的动态信息。动态信息包括好友昵称、正文、发布日期。其中发布日期还需要进行转换,如日期显示为1小时前,则时间转换为今天,最后动态信 ... [详细]
  • 如何用Python为MongoDBCollection创建索引? ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • Ubuntu 用户安装 Linux Kernel 3.15 RC1
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 怎么用Python来统计知识星球打卡作业
    本篇内容主要讲解“怎么用Python来统计知识星球打卡作业”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大 ... [详细]
  • 目标:抓取LaGou网爬虫职位,下载于数据库MongoDB,并可视化于pycharm。我们采用:requests(获取)—— ... [详细]
author-avatar
钟罄石
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有