4
我試圖將一些大文件(大約400萬條記錄)推送到mongo實例中。我基本上試圖實現的是用文件中的數據更新現有的數據。該算法看起來是這樣的:pymongo:更高效的更新
rowHeaders = ('orderId', 'manufacturer', 'itemWeight')
for row in dataFile:
row = row.strip('\n').split('\t')
row = dict(zip(rowHeaders, row))
mongoRow = mongoCollection.find({'orderId': 12344})
if mongoRow is not None:
if mongoRow['itemWeight'] != row['itemWeight']:
row['tsUpdated'] = time.time()
else:
row['tsUpdated'] = time.time()
mongoCollection.update({'orderId': 12344}, row, upsert=True)
因此,更新全行除了「tsUpdated」如果權重都是一樣的,添加新行,如果該行不蒙戈或更新整個行包括「tsUpdated」 ...這是算法
問題是:從mongo的角度來看,這可以做得更快,更簡單,更高效嗎? (最終通過某種批量插入)