I have to insert many documents in a MongoDB collection, using the new C# 2.0 driver. Is using either collection.InsertManyAsync(...)
or collection.BulkWriteAsync(...)
making any difference? (particularly about performance).
From what I understand from MongoDB documentation, an insert with an array of documents should be a bulk operation under the hood. Is that correct?
Thanks for your help.
I found the answer looking at the driver source code: the InsertManyAsync
uses internally the BulkWriteAsync
.
So using InsertManyAsync
it's the same as writing:
List<BsonDocument> documents = ...
collection.BulkWriteAsync(documents.Select(d => new InsertOneModel<BsonDocument>(d)));
Obviously, if all operations are Inserts, the InsertManyAsync
should be used.