ja, je moet het houseModel beter vergrendelen om aan te geven dat er een addItemis in uitvoering is.
Het probleem is dat meerdere verzoeken findById kunnen aanroepen en hetzelfde huis.items.lengte kunnen zien, en vervolgens elk op basis van die (verouderde) momentopname bepalen dat het goed is om nog een item toe te voegen. De nodejs-grens van atomiciteit is de callback; tussen een asynchrone aanroep en de terugroepactie kunnen andere verzoeken worden uitgevoerd.
Een eenvoudige oplossing is om niet alleen het aantal items in huis bij te houden, maar ook het aantal beoogde addItems. Bij binnenkomst in addItem, stoot het aantal "wil meer toevoegen" aan en test dat.