0
私は同じ呼び出しをするたびにアイテムを生成するジェネレーター関数を作ろうとしていますが、同じアイテムが得られます。ここに私のコードです:pymongoを使ったジェネレーター関数
1 from pymongo import Connection
2
3 connection = Connection()
4 db = connection.store
5 collection = db.products
6
7 def test():
8 global collection #using a global variable just for the test.
9 items = collection.find()
10 for item in items:
11 yield item['description']
12 return
です。このコードは大丈夫です(ただし、この場合はコレクションをグローバルとして宣言する必要はなく、return文も必要ありません)。おそらく、あなたがtest()を呼び出す方法に問題がありますか?私は4つのアイテムを異なる記述でコレクションに入れ、test()を実行すると4つの異なるアイテムのイテレータが返されました。 –