我正在嘗試用新值批量替換所有檔案。
例如,我們在 db 中有 500k 檔案,并且我們有 500k 相同的檔案,其中包含更新的道具。現在我們需要更新舊資料。
想法是對新集合使用帶有精益選項的InsertMany,然后洗掉舊集合以減少讀/寫次數。
問題是在這種情況下有什么更容易的嗎?
在這種情況下,甚至匯入/匯出可能會更好?
PS Model.updateMany() 有一個過濾器,我們這里不需要過濾器,因為我們確定每個檔案都有更新的屬性,所以我們只需要替換它們
uj5u.com熱心網友回復:
有不同的選擇。
1.insertMany 插入多個檔案。2. 帶有 upsert 的 UpdateMany 將插入和更新檔案 3. Replace 將替換匹配的檔案。
如果您的新檔案有一組全新的欄位,您可以使用替換。
如果只有值更改和新欄位,那么您可以使用 updateMany。
另一方面,有一種叫做批量寫入的東西。也探索一下。
編輯:
此用例的最佳選擇是每天創建新集合。考慮到 500k 這個數字很容易處理。交換新舊收藏。
否則,您可以使用替換選項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/422858.html
標籤:
上一篇:當字串包含括號時,MongoDBRegEx找不到任何結果
下一篇:mongodb從陣列物件值求和
