カーソルがmongoでネイティブに機能するように、Pythonでカーソルを作成して処理することを検討しています。意図された方法は、「result = collection.find()」を実行し、「結果のレコード」を実行することですが、反復機能をクラスでラップすることを検討しています。新しいクラスオブジェクトを作成し、init_cursor()などの関数を呼び出してdb接続を確立し、カーソルを返す検索を実行できるようにしたいと思います。次に、次の結果に移動し、結果に基づいてクラスデータメンバーを設定する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
または各ドキュメントからデータを引き出すためのその他のヘルプ機能