python - pymongo中游標(biāo)的使用
問題描述
問題:我需要多次使用同一個(gè)游標(biāo)。然后發(fā)現(xiàn)一個(gè)for循環(huán)這個(gè)游標(biāo)就沒有用了。然后我使用了
a = db.base.find()c = b = a
但是a for循環(huán)之后b,c都不能用了。之后又想到用深度拷貝:
import copya = db.base.find()b = copy.deepcopy(a)c = copy.deepcopy(a)
這樣就可以使用。但是這樣會(huì)不會(huì)增加內(nèi)存的使用~!
請(qǐng)問怎么使用才是最優(yōu)美的呢?謝謝
問題解答
回答1:可以使用itertools的tee
In [20]: from itertools import teeIn [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’}]
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. 實(shí)現(xiàn)bing搜索工具urlAPI提交3. boot2docker無法啟動(dòng)4. javascript - 移動(dòng)端上不能實(shí)現(xiàn)拖拽布局嗎?5. javascript - 如何判斷不同兩個(gè)對(duì)象觸發(fā)同一事件?6. 前端 - 這段代碼一直生效不了,查半天因?yàn)?top: 0px; 分號(hào)后一個(gè)隱藏的東西,也不是占位符...刪了就可以生效,這是什么情況。。7. nginx bind failed8. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺(tái)消失不見。有圖有代碼,希望有人幫忙9. angular.js - 單頁應(yīng)用(ng/vue)該如何監(jiān)聽用戶離開當(dāng)前頁面(或者路由)?10. javascript - react native在run-android時(shí)出現(xiàn)這個(gè)錯(cuò)誤該怎么解決?大神賜教

網(wǎng)公網(wǎng)安備