gpt4 book ai didi

python - PyMongo 游标迭代

转载 作者:可可西里 更新时间:2023-11-01 09:18:02 30 4
gpt4 key购买 nike

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

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/

关于python - PyMongo 游标迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424078/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com