热门标签 | 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/


推荐阅读
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社区 版权所有