python - utilisation des curseurs dans pymongo
PHPz
PHPz 2017-05-17 10:04:06
0
1
1164

Problème : 
Je dois utiliser le même curseur plusieurs fois. Ensuite, j'ai découvert que le curseur dans une boucle for était inutile.
Puis j'ai utilisé

a = db.base.find()
c = b = a 

Mais après une boucle for, b et c ne peuvent pas être utilisés.
Ensuite, j'ai pensé à utiliser la copie profonde :

import copy
a = db.base.find()
b = copy.deepcopy(a)
c = copy.deepcopy(a)

De cette façon, vous pouvez l'utiliser.
Mais cela augmentera-t-il l'utilisation de la mémoire~ !

Comment l'utiliser de la plus belle des manières ? Merci

PHPz
PHPz

学习是最好的投资!

répondre à tous(1)
巴扎黑

Vous pouvez utiliser le tee-shirt itertools

In [20]: from itertools import tee

In [21]: x1,x2 = tee(db.x.find())

In [22]: list(x1)
Out[22]: 
[{u'_id': ObjectId('590026b521d7dd4a1beb3c1a'), u'name': u'bar'},
 {u'_id': ObjectId('590026b921d7dd4a1beb3c1b'), u'name': u'foo'}]

In [23]: list(x2)
Out[23]: 
[{u'_id': ObjectId('590026b521d7dd4a1beb3c1a'), u'name': u'bar'},
 {u'_id': ObjectId('590026b921d7dd4a1beb3c1b'), u'name': u'foo'}]
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal