如果我需要更新70,000檔案的結構。遍歷游標并更新每個游標非常慢。大約 10/s
關于如何更新檔案結構的任何提示(基本上更新我資料庫中每個檔案中的一些值)
import json
import pymongo
from bson.objectid import ObjectId
for document in applications.find({}):
document["name"] = {"name": document["name"], "level": "999"}
applications.update_one({}, {"$set": document})
資料庫托管在足夠好的服務器上,我覺得它的代碼限制了速度。不是服務器。
https://gyazo.com/f8227e0cd24c3f5c9c0cb67e52e5a9ca
uj5u.com熱心網友回復:
您當前的嘗試是在 js 級別迭代 find() 結果集并將單個更新回傳到資料庫,這會產生大量開銷并且速度很慢。
使用 MongoDB v4.2 ,您可以使用聚合管道進行更新。
db.collection.update({},
[
{
$addFields: {
name: {
name: "$name",
level: "999"
}
}
}
],
{
multi: true
})
這是Mongo游樂場供您參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/459365.html
標籤:Python mongodb mongodb查询 pymongo
上一篇:mongodb查詢通配符嵌套物件
