Ако вмъквате документ, MongoDB трябва да провери дали документът със същия ObjectId съществува или не. Ако съществува, документът не може да бъде вмъкнат.
Същият случай важи и за актуализацията. Трябва да се провери дали документът съществува или не. В противен случай актуализацията не може да бъде извършена. Случаят, в който вашата заявка за актуализиране ще се забави, е когато не може да намери документ въз основа на вашия ObjectId / индексирано поле.
В противен случай производителността за вмъкване/актуализиране на документ трябва да е същата.
Така че Insert може да бъде така //(Бързо)
- (Проверка за документ -> Не е намерен -> Вмъкване на нов документ) Друго
- (Проверете за документ -> Намерен -> Не може да бъде вмъкнат)
И актуализирайте с upsert (наличен ObjectId) //(Бързо)
- (Проверка за документ -> Не е намерен -> Вмъкване на нов документ) Друго
- (Проверка за документ -> Намерен -> Актуализиране на документа)
Или Актуализирайте с upsert (Без ObjectId) //Това е бавно
- (Намиране на ObjectIds (бавно) -> Не е намерено -> Вмъкване на нов документ) Друго
- (Намиране на ObjectIds (бавно)-> Намерени -> Актуализиране на документите)