Przede wszystkim podstawowa różnica między findOne() i find() :
-
findOne()- jeśli zapytanie pasuje, zwracany jest pierwszy dokument, w przeciwnym razie null. -
find()- bez względu na liczbę dopasowanych dokumentów, zwracany jest kursor, nigdy pusty.
Więc po umieszczeniu w warunku if, findOne() może przekonwertować na fałsz, gdy nie pasuje do żadnego dokumentu. Jako find() zwraca obiekt kursora i nigdy nie zwraca wartości null, zostanie przekonwertowany na true po umieszczeniu w warunku if.
find i findOne() zwróć następujące dla pustej kolekcji :
