[英]MongoDB C# driver 2.0 InsertManyAsync vs BulkWriteAsync
[英]InsertManyAsync vs BulkWriteAsync: in one transaction or not, max rows allowed via MongoDB C# driver
我通過下面的 NuGet 對 InsertManyAsync 與 BulkWriteAsync 有疑問:
https://www.nuget.org/packages/MongoDB.Driver/2.12.3?_src=template
我想導出大約 20 MB 的 300,000 行數據,將它們轉換為 JSON 並將它們導入 Mongo Altas。
我的問題:
1 哪個操作InsertManyAsync
與BulkWriteAsync
是事務性的,例如全有還是全無?
2 每個操作允許的最大行數或大小是多少?
下面或其他地方的鏈接沒有答案:
InsertManyAsync
和BulkWriteAsync
之間沒有區別,除了 BulkWriteAsync 不僅可以與插入一起使用。 換句話說, InsertManyAsync
在內部調用BulkWriteAsync
。
該操作是一項事務性操作,例如全部還是全部?
見交易。 此外,請參閱此處的ordered
/ unordered
選項。
允許的最大行數或大小是多少?
我認為除了對 16 MB 的文檔大小的限制之外,沒有任何限制。 請注意,批量項目可以在發送到服務器之前合並為單個文檔(總和不應大於 16 MB),或者它們應該一個一個單獨發送。 此邏輯取決於您是否使用isOrdered
選項以及批次中的所有項目是否具有相同的批量類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.